【手把手带你刷好题】—— 44.救生艇(双指针)

简介: .救生艇

【前言】

今天是刷题打卡第44天!

最近很忙,所以近期整理的题目大都是蓝桥专栏里面的,也是很经典题目哦。


原题:救生艇(双指针)

题目描述:

示例1:

输入:people = [1,2], limit = 3
输出:1
解释:1 艘船载 (1, 2)

示例2:

输入:people = [3,2,2,1], limit = 3
输出:3
解释:3 艘船分别载 (1, 2), (2) 和 (3)


思路(对撞指针):

本题类似于上面那个引入栗子,也是采用“对撞指针”思想,不过本题一开始不是有序的,所以先排序,代码采用C++编写,因为可以用STL,就不需要人为去特意编写一个排序算法了,很是方便。


代码执行:

class Solution {
public:
    int numRescueBoats(vector<int>& people, int limit) {
        //先排序数组
        sort(people.begin(),people.end());
        int i = 0;//起始位置
        int j = people.size() - 1;//末尾位置
        int count = 0;
        while(i <= j)
        {
            if(people[i]+people[j] <= limit)//i较特殊,想想特殊在哪里
            {
                i++;
            }
            j--;
            count++;
        }
        return count;
    }
};

结语

今天是刷题打卡第44天!

加油吧少年。

 


相关文章
|
12月前
|
存储 算法 索引
从小白开始刷算法 回溯法篇 leetcode.78
从小白开始刷算法 回溯法篇 leetcode.78
|
12月前
|
存储 机器学习/深度学习 算法
从小白开始刷算法 回溯法篇 leetcode.22
从小白开始刷算法 回溯法篇 leetcode.22
手把手带你刷好题(牛客刷题③)
手把手带你刷好题(牛客刷题③)
手把手带你刷好题(牛客刷题③)
|
存储 索引 容器
手把手带你刷好题(牛客刷题⑦)
手把手带你刷好题(牛客刷题⑦)
|
缓存 Java
手把手带你刷好题(牛客刷题④)
手把手带你刷好题(牛客刷题④)
手把手带你刷好题(牛客刷题⑥)
手把手带你刷好题(牛客刷题⑥)
|
Java API C++
手把手带你刷好题(牛客刷题⑤)
手把手带你刷好题(牛客刷题⑤)
|
算法 测试技术 Android开发
LeetCode 周赛 332,在套路里摸爬滚打~
大家好,今天是 3T 选手小彭。上周是 LeetCode 第 332 场周赛,你参加了吗?算法解题思维需要长时间锻炼,加入我们一起刷题吧~
72 0