当前位置: 首页> 娱乐> 影视 > 春雨直播免费视频_上海出口贸易公司_百度一下百度主页_在线子域名二级域名查询工具

春雨直播免费视频_上海出口贸易公司_百度一下百度主页_在线子域名二级域名查询工具

时间:2025/7/9 12:15:54来源:https://blog.csdn.net/2301_81236660/article/details/146024431 浏览次数:0次
春雨直播免费视频_上海出口贸易公司_百度一下百度主页_在线子域名二级域名查询工具

二分题目

  • 爱吃香蕉的珂珂
  • 在D天内送达包裹的能力
  • 分割数组的最大值

总结来说,如果发现题目中存在单调关系,就可以尝试使用二分搜索的思路来解决。

爱吃香蕉的珂珂

题目链接在这里插入图片描述

class Solution {public int minEatingSpeed(int[] piles, int h) {int maxBound=0;int sz=piles.length;for(int i=0;i<sz;i++){maxBound=Math.max(maxBound,piles[i]);}int left=1,right=maxBound;while(left<right){int mid=(left+right)/2;if(needTimes(mid,piles)<=h){right=mid;}else{left=mid+1;}}return left;}//以速度 k 根/小时,返回吃完所有香蕉需要的时间int needTimes(int k,int[]piles){int sz=piles.length;int times=0;for(int i=0;i<sz;i++){if(piles[i]<=k){//一个小时之内吃完times++;}else{int divi=piles[i]/k;if(piles[i]%k==0){times+=divi;}else{times+=(divi+1);}}}return times;}
}

在D天内送达包裹的能力

题目链接在这里插入图片描述

分割数组的最大值

题目链接在这里插入图片描述

class Solution {//这么想,nums是包裹,k为船的数量,目的是运完所以货,让你求船的最小运载能力public int splitArray(int[] nums, int k) {int maxVal=0;int sum=0;int sz=nums.length;for(int i=0;i<sz;i++){sum+=nums[i];maxVal=Math.max(maxVal,nums[i]);}int left=maxVal,right=sum;while(left<right){int mid=(left+right)/2;if(needK(mid,nums)<=k){right=mid;}else{left=mid+1;}}return left;}//返回需要 几个船 可以运完货int needK(int maxCapacity,int[]nums){int sz=nums.length;int left=0,right=0;int windowSum=0;int ships=0;while(right<sz){//扩大窗口windowSum+=nums[right++];//检查什么时候停止上货if(right<sz && windowSum+nums[right]>maxCapacity){//如果加上下一个包裹就超载了,停止上货ships++;windowSum=0;left=right;}}ships++;return ships;}
}
关键字:春雨直播免费视频_上海出口贸易公司_百度一下百度主页_在线子域名二级域名查询工具

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: