881.救生艇

目录

题目

给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。

每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。

返回 承载所有人所需的最小船数 。

过程

cpp 复制代码
class Solution {
public:
    int numRescueBoats(vector<int>& people, int limit) {
        sort(people.begin(),people.end());
        int sum=0;//船的计数
        int l=0;
        int r=people.size()-1;
        //最小的和最大的坐船,如果超重了,那么就是最大的独自一条船,
        while(l<r){
            if(people[l]+people[r]<limit){
                sum++;
                r--;
                l++;
            }else if(people[l]+people[r]>limit){
                sum++;
                r--;
            }else{
                sum++;
                l++;
                r--;
            }
        }
        return sum;
    }
};

发现最后总是会少一条船,可能忘记最后一条了。

推演了一下,确实l和r重合的时候,还有一个人,一条船没有计数

再最后加一个出while的判断。

cpp 复制代码
class Solution {
public:
    int numRescueBoats(vector<int>& people, int limit) {
        sort(people.begin(),people.end());
        int sum=0;//船的计数
        int l=0;
        int r=people.size()-1;
        //最小的和最大的坐船,如果超重了,那么就是最大的独自一条船,
        while(l<r){
            if(people[l]+people[r]<limit){
                sum++;
                r--;
                l++;
            }else if(people[l]+people[r]>limit){
                sum++;
                r--;
            }else{
                sum++;
                l++;
                r--;
            }
            if(l==r){
                sum++;
                l++;
            }
        }
        return sum;
    }
};

感觉双指针主要难点就是想清楚什么时候哪一边收敛。

相关推荐
源代码•宸1 天前
分布式理论基础——Raft算法
经验分享·分布式·后端·算法·golang·集群·raft
YiWait1 天前
机器学习导论习题解答
人工智能·python·算法
流㶡1 天前
scikit-learn之KNN算法实战鸢尾花分类
python·算法·scikit-learn·knn
啊阿狸不会拉杆1 天前
《数字信号处理》第8章:有限长单位冲激响应(FIR)数字滤波器设计方法
算法·matlab·深度优先·信号处理·数字信号处理·dsp
AndrewHZ1 天前
【图像处理与ISP技术】图像质量评价领域经典算法一览
图像处理·人工智能·深度学习·算法·机器学习·图像质量评价·iqa
TracyCoder1231 天前
LeetCode Hot100(15/100)——54. 螺旋矩阵
算法·leetcode·矩阵
u0109272711 天前
C++中的策略模式变体
开发语言·c++·算法
2501_941837261 天前
停车场车辆检测与识别系统-YOLOv26算法改进与应用分析
算法·yolo
六义义1 天前
java基础十二
java·数据结构·算法
四维碎片1 天前
QSettings + INI 笔记
笔记·qt·算法