leetcode: 881. 救生艇(贪心+双指针)

该博客介绍了如何使用贪心算法和双指针策略解决LeetCode上的881题——救生艇问题。首先将输入数组排序,接着检查当前最大体重和最小体重是否能同乘一艘救生艇,如果不能,则最大体重者单独占用一艘艇。

链接:https://leetcode-cn.com/problems/boats-to-save-people/
先把数组排序,然后始终检查最大重量能否和最小重量上一艘船,若不行,则最大重量一人一艘。

class Solution {
    public int numRescueBoats(int[] people, int limit) {
        Arrays.sort(people);
        int p1 = 0;
        int p2 = people.length-1;
        int ans = 0;
        while(p1<=p2)
        {
            if(people[p1]+people[p2]<=limit)
                p1++;
            p2--;
            ans++;
        }
        return ans;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值