当前位置: 首页 > wzjs >正文

mac怎么做网站设计杭州seo靠谱

mac怎么做网站设计,杭州seo靠谱,商丘网络有限公司,怎么建淘宝优惠券网站做推广目录 力扣.1471数组的k个最强值 力扣1576.替换所有的问号 力扣1419.数青蛙​编辑 力扣300.最长递增子序列 力扣.1471数组的k个最强值 class Solution {public static int[] getStrongest(int[] arr,int k) {if(karr.length){return arr;}int []retnew int[k];int narr.lengt…

目录

力扣.1471数组的k个最强值

力扣1576.替换所有的问号

力扣1419.数青蛙​编辑

力扣300.最长递增子序列


力扣.1471数组的k个最强值

class Solution {public static int[] getStrongest(int[] arr,int k) {if(k==arr.length){return arr;}int []ret=new int[k];int n=arr.length;//归并排序,我只是想练一下,你直接Arrays.sort()即可merge(arr,0,n-1);//数组已经有序int mid=arr[(n-1)/2];int jj=0;int i=0;int j=n-1;while(i<j&&k>0){//看题中的条件while((k>0&&i<j)&&(Math.abs(arr[i]-mid)>Math.abs(arr[j]-mid)||(Math.abs(arr[i]-mid)==Math.abs(arr[j]-mid)&&arr[i]>arr[j]))){k--;ret[jj++]=arr[i++];}//注意此时涉及到一个情况,假如k还剩一个,然后一个7还有一个7两个都是中位数,事例3.这个情况,就随便让那个一个相等即可。我们选择让后面的相同,因为一般后面的更大一点while((k>0&&i<j)&&(Math.abs(arr[i]-mid)<Math.abs(arr[j]-mid)||(Math.abs(arr[i]-mid)==Math.abs(arr[j]-mid)&&arr[i]<=arr[j]))){//找到一个数字,再进行插入k--;ret[jj++]=arr[j--];}}return ret;}
public static void merge(int[]arr,int left,int right){if(left>=right)return ;int mid=(left+right)/2;merge(arr,left,mid);merge(arr,mid+1,right);//数组两个有序之后,合并两个有序数组int cur1=left;int cur2=mid+1;int []tmp=new int[right-left+1];int k=0;while(cur1<=mid&&cur2<=right){if(arr[cur1]<=arr[cur2])tmp[k++]=arr[cur1++];else tmp[k++]=arr[cur2++];}while(cur1<=mid) tmp[k++]=arr[cur1++];while(cur2<=right) tmp[k++]=arr[cur2++];k=0;for(int i=left;i<=right;i++){arr[i]=tmp[k++];}}
}

模拟算法流程->转化成代码

力扣1576.替换所有的问号

没什么操作,挺简单的想法

但是要补充一些知识:

单引号:表示的是字符的含义

双引号:表示的是字符串的含义

此时这里需要用到的是单引号

String.valueOf()

转化成字符串。

 public String modifyString(String s) {char[]a=s.toCharArray();for(int i=0;i<a.length;i++){if(a[i]=='?'){for(char a1='a';a1<='z';a1++){if((i==0||a1!=a[i-1])&&(i==a.length-1||a1!=a[i+1])){a[i]=a1;break;}}}}return String.valueOf(a);}

力扣1419.数青蛙

用下标模拟哈希表进行下标映射,基本操作,剩下慢慢打表即可。

class Solution {public static int minNumberOfFrogs(String croakOfFrogs) {int count=0;int []a=new int[26];for(int i=0;i<croakOfFrogs.length();i++){int tmp=croakOfFrogs.charAt(i)-'a';if(tmp==2){if(a[10]!=0){a[10]--;a[2]++;}else{a[2]++;}}else if(tmp==17){if(a[2]!=0){a[2]--;a[17]++;}else{return -1;}}else if(tmp==14){if(a[17]!=0){a[17]--;a[14]++;}else{return -1;}}else if(tmp==0){if(a[14]!=0){a[14]--;a[0]++;}else{return -1;}}else if(tmp==10){if(a[0]!=0){a[0]--;a[10]++;}else{return -1;}}}if(a[10]==0){return -1;}if(a[2]!=0){return -1;}return a[10];}
}

力扣300.最长递增子序列

1.状态表示

dp[i]:以i位置元素为结尾的所有子序列中,最长递增子序列的长度

状态转移方程

dp[i]=max(dp[j]+1)(j<i&nums[j]<nums[i])

我们仅关心你的最后一个元素是谁

2.贪心优化

仅存你的最后一个元素

存什么:所有长度为x的递增子序列中,最后一个元素的最小值

存哪里:所有大于等于nums[i]的最小值的位置

利用二分可以进行优化,快速定位插入位置

来个x

http://www.dtcms.com/wzjs/209889.html

相关文章:

  • 荣泰建设集团网站网站百度权重查询
  • 软件开发工具的基本功能湖南seo推广软件
  • 宁德东侨建设局网站百度下载官网
  • 建站公司选址热搜词工具
  • wordpress能做流量站吗百度推销广告一年多少钱
  • 提供网站制作公司报价网站seo哪家好
  • php网站后台建设广告平台有哪些
  • 哈尔滨网站建设团队郑州网站优化渠道
  • 个人网站首页布局企业网站推广策略
  • 做网站卖狗挣钱吗h5下一页
  • 怎么做网站教程++用的工具湖南专业seo优化
  • 如何搭建自己的网站服务器地址什么是搜索引擎优化的核心
  • 北京网站建设批发百度付费推广有几种方式
  • nodejs可以做网站么优化网址
  • 建设网站关键词怎么写公众号seo排名优化
  • 网站建设公司圣辉友联软文自动发布软件
  • 网上做图赚钱的网站杭州百度推广代理商
  • 购物网站成品软文拟发布的平台与板块
  • 重庆点优建设网站公司吗优化网站首页
  • 深圳宝安网站推广百度站长资源平台
  • 零基础学wordpress课件seo排名课程咨询电话
  • 中天建设集团门户网站网站怎么申请怎么注册
  • 网站建设实训结论百度商品推广平台
  • java做网站合适么2022年五月份热点事件
  • wordpress的搭建环境重庆seo俱乐部
  • 织梦网站开发视频百度官网网站
  • wordpress 分类文章置顶插件青岛关键词推广seo
  • seo优秀网站seo搜索引擎优化价格
  • 东城网站建设哪家好百度排行榜风云榜
  • 企模网站手机优化助手