class Solution {
public int numRescueBoats(int[] people, int limit) {
// 先排序,双指针
//让最重的和最轻的一起
// 刚开始没看到每艘船最多载两个人..
Arrays.sort(people);
int i = 0;
int j = people.length-1;
int ans = 0;
while(i<=j){
ans++;
if(people[i]+people[j]<=limit){
// 可以同时放最重和最轻的两个人
i++;
}
//不可以同时放两个人的话,也就是最后一个人要单独做一艘船,所以i指针不动,j指针往前划
j--;
}
return ans;
}
}
每日一道Leetcode-881. 救生艇 【双指针】
最新推荐文章于 2025-06-01 01:45:00 发布