public int numRescueBoats(int[] people, int limit) {
//寻找两数之和:双指针
//如果最重的人可以和最轻的人匹配,那么安排他们在同一船,否则重的人自己走
int len=people.length;
if(len==1){
return 1;
}
Arrays.sort(people);
int left=0;
int rigth=len-1;
int res=0;
while(left<rigth){
int sum=people[left]+people[rigth];
if(sum<=limit){
res++;
left++;
rigth--;
}else if(sum>limit){
res++;
rigth--;
}
}
if(left==rigth){
res++;
}
return res;
}
双指针:leetcode881
最新推荐文章于 2023-09-06 23:00:41 发布