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

网站建设与维护选择题百度服务电话6988

网站建设与维护选择题,百度服务电话6988,建设公司起名大全,做微信封面模板下载网站53. 最大子数组和 简单的dp问题实际上&#xff0c;如果当前位置的前一个位置的和大于0我们直接加上&#xff0c;不大于就忽略即可 class Solution {public int maxSubArray(int[] nums) {int ans-100000;int sumans;for(int i0;i<nums.length;i){sumMath.max(sumnums[i],n…

53. 最大子数组和

简单的dp问题实际上,如果当前位置的前一个位置的和大于0我们直接加上,不大于就忽略即可

class Solution {public int maxSubArray(int[] nums) {int ans=-100000;int sum=ans;for(int i=0;i<nums.length;i++){sum=Math.max(sum+nums[i],nums[i]);ans=Math.max(ans,sum);}return ans;}
}

56. 合并区间

我们定义前一个为a,后面一个为b,进行排序之后(a小的在前面,其次b小的在前面),这样就成为了一个线段覆盖问题,就会出现三种情况,

1.当前线段被前一个包围(忽略即可)

2.当前线段与前一个交接了一部分(两条线段合并)

3.不包含(再起一段)

代码模拟即可

class Solution {public int[][] merge(int[][] intervals) {node [] arr=new node[intervals.length];for(int i=0;i<intervals.length;i++){arr[i]=new node();arr[i].a=intervals[i][0];arr[i].b=intervals[i][1];}Arrays.sort(arr);ArrayList<node> ans =new ArrayList<>();int l=arr[0].a;int r=arr[0].b;for(int i=1;i<intervals.length;i++){if(arr[i].b<=r){continue;}else if(arr[i].a<=r){r=arr[i].b;}else{node now=new node();now.a=l;now.b=r;ans.add(now);l=arr[i].a;r=arr[i].b;}}ans.add(new node(l,r));int [][]res =new int[ans.size()][2];for(int i=0;i<ans.size();i++){res[i][0]=ans.get(i).a;res[i][1]=ans.get(i).b;}return res;}public static class node implements Comparable<node>{int a,b;node(){a=0;b=0;};node(int a1,int b1){a=a1;b=b1;};@Overridepublic int compareTo(node o) {if(a!=o.a){return a-o.a;}return b-o.b;}}
}

189. 轮转数组

取余即可

class Solution {public static void rotate(int[] nums, int k) {int []ans=new int[nums.length];for(int i=0;i<nums.length;i++){int wei=(i+k)%nums.length;ans[wei]=nums[i];}for(int i=0;i<nums.length;i++){nums[i]=ans[i];}}
}

238. 除自身以外数组的乘积

简单的前缀和问题,我们记录当前位置前面的乘机,与当前位置后面的乘机即可,注意末尾和0位置应当为1

class Solution {public int[] productExceptSelf(int[] nums) {int []arr=new int[nums.length+2];int []brr=new int[nums.length+2];for(int i=0;i<nums.length;i++){arr[i+1]=nums[i];brr[i+1]=nums[i];}arr[0]=1;arr[nums.length+1]=1;brr[0]=1;brr[nums.length+1]=1;for(int i=1;i<=nums.length;i++){arr[i]=arr[i]*arr[i-1];}for(int i=nums.length;i>=1;i--){brr[i]=brr[i+1]*brr[i];}int []ans=new int[nums.length];for(int i=0;i<nums.length;i++){int wei=i+1;ans[i]=arr[wei-1]*brr[wei+1];}return ans;}
}

41. 缺失的第一个正数

不难发现,最大的正数也不会超过数组的长度,建立数组,一个一个放入即可

class Solution {public int firstMissingPositive(int[] nums) {int []brr=new int[nums.length+3];for(int i=0;i<nums.length ;i++){if(nums[i]>=0&&nums[i]<=nums.length){brr[nums[i]]++;}}for(int i=1;;i++){if(brr[i]==0){return i;}}}
}

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

相关文章:

  • 广州市官网网站建设报价河南今日头条新闻最新
  • web怎样插入自己做的网站百度seo效果
  • 404错误直接转向到网站首页seo 优化教程
  • 做网站的商标是哪类企业管理软件
  • 有哪些公司做网站怎么创建个人网站
  • 海口网站制作怎样做网站推广
  • 想要做一个网站青岛seo招聘
  • 网站举报平台东营百度推广公司
  • .web 建设网站百度信息流推广是什么意思
  • 真正做新闻网站百度贴吧官网入口
  • 自己建网站服务器今日重点新闻
  • seo网站案例广点通和腾讯朋友圈广告区别
  • 可以先做网站后备案吗网络推广公司口碑
  • wordpress首页导航设置深圳龙岗区优化防控措施
  • 菠菜网站怎么做排名网站人多怎么优化
  • 佛山html5网站建设点击器 百度网盘
  • 个人网站做废品回收百度快速排名点击器
  • 如何寻找做网站的客户吸引人的软文
  • 做网站需要工商执照吗上海seo博客
  • qq整人网站怎么做成都自然排名优化
  • 赣州做网站j深圳华强北
  • 网站如何做微信支付江苏seo排名
  • 虚拟主机对网站seo有哪些影响杭州seo排名优化外包
  • 外发加工网接单求职seo服务
  • 杨浦做网站爱站网站seo查询工具
  • 网站建设管理教程视频教程seo网站优化助理
  • 上海包装设计公司百度优化软件
  • 东莞网站建设属于什么专业北海seo快速排名
  • 搜索引擎seo是什么意思北京seo专业团队
  • 适合在家做的电商南宁seo平台标准