第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。

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

返回载到每一个人所需的最小船数。(保证每个人都能被船载)。

示例 1:

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

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

输入:people = [3,5,3,4], limit = 5
输出:4
解释:4 艘船分别载 (3), (3), (4), (5)
提示:

1 <= people.length <= 50000
1 <= people[i] <= limit <= 30000

思路:先排个序

然后最大的找最小的,如果小于等于limit,就把两个都装进去,要不然就装一个最大的

提交的代码:

class Solution {
    public int numRescueBoats(int[] people, int limit) {
         Arrays.sort(people);
        int sum=0,i=people.length-1,j=0;
        while(i>=j)
        {
            if(people[i]+people[j]<=limit)
            {
                j++;
            }
            i--;
            sum++;
        }
        return sum;
    }
}

完整的代码:

import java.util.Arrays;

public class Solution881 {
public static int numRescueBoats(int[] people, int limit) {
        Arrays.sort(people);
        int sum=0,i=people.length-1,j=0;
        while(i>=j)
        {
            if(people[i]+people[j]<=limit)
            {
                j++;
            }
            i--;
            sum++;
        }
        return sum;
    }
public static void main(String[] args)
{
    int[] people = {2,49,10,7,11,41,47,2,22,6,13,12,33,18,10,26,2,6,50,10};
    int x = 50;
    System.out.println(numRescueBoats(people,x));
}
}

Leetcode--881. 救生艇相关推荐

  1. Leetcode 881:救生艇问题

    Leetcode 881: 救生艇问题 问题描述: 现在有NNN位乘客被困在一艘即将坠海的遇难船上,其中第iii个乘客的体重记为people[i]. 每艘救生艇能够承载的最大体重为limit. 注意: ...

  2. LeetCode 881. 救生艇(贪心,双指针)

    1. 题目 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit. 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit. 返回载到每一个人所需的最小船数.( ...

  3. LeetCode 881. 救生艇

    Description 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit. 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit. 返回载到每一个人所需的 ...

  4. leetcode 881 救生艇 (python3- 贪心算法)

    刷题,遇见救生艇问题,题目如下: 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit. 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit. 返回载到每一 ...

  5. LeetCode 881.救生艇

    https://leetcode.cn/problems/boats-to-save-people 给定数组 people .people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的 ...

  6. LeetCode 881 救生艇

    题目描述 解题方法 每次都选择最轻和最重的两个,如果超过,那么最重的单独坐船(船最多载2人) class Solution:def numRescueBoats(self, people: List[ ...

  7. leetcode每日一题系列——881. 救生艇

    881. 救生艇 难度中等166收藏分享切换为英文接收动态反馈 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit. 每艘船最多可同时载两人,但条件是这些人的重量之和最多 ...

  8. 881. 救生艇-快速排序加贪心算法

    881. 救生艇 给定数组 people .people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit. 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 ...

  9. 力扣881. 救生艇(贪心,双指针)

    881. 救生艇 题目描述: 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit. 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit. 返回载到每一个人 ...

  10. [LeetCode javaScript] 881. 救生艇

    第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit. 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit. 返回载到每一个人所需的最小船数.(保证每个人都 ...

最新文章

  1. Microsoft Dynamics Marketplace
  2. 【每日一算法】删列造序
  3. flex布局实现叠在另一个div之上_如何让一个div在另一个div的上面,求高手指点...
  4. 动词ing基本用法_百因必有果,你的“福利”就是我第61篇:过去进行时构成及用法...
  5. 使用JJWT实现JWT代码示例
  6. windows上安装mysql
  7. MariaDB Spider 数据库分库分表实践 分库分表
  8. python3 for sum_Python for循环和“sum13”方法
  9. java接口文件定义类_Java入门笔记(四)类、包和接口
  10. ES6——Class 笔记
  11. selenium webdriver显示等待时间
  12. 深入浅出python学习
  13. 一个神奇的FLAC转MP3在线工具
  14. 51单片机8位数码管显示学号变化
  15. 【平衡小车制作】(二)电机驱动(超详解)
  16. qq游戏ie服务器在哪个文件夹,IE的缓存文件夹在哪个文件夹?
  17. Java在线教育项目 第四天文章搜索前后端成形记 实名认证审核
  18. 文本识别OCR浅析:特征篇
  19. 计算机网络-常用英文简写与名词解释
  20. 转手动档汽车的换挡技巧

热门文章

  1. web前端知识点太多_web前端常见知识点
  2. 目前流行的装修风格_现在最流行的八大装修风格
  3. 怎样用计算机添加文章标题,计算机论文题目怎么定-易指做帮写网
  4. python随机生成六位数密码_python生成6位包含数字和字母的密码
  5. Linux常用指令自己备用
  6. 一句话超短摘要,速览752篇EMNLP论文
  7. 算法岗面试前怎样高效刷题?
  8. Docx:docx.opc.exceptions.PackageNotFoundError: Package not found at
  9. 多mysql实例下开发需要注意主从同步延迟
  10. 第七届蓝桥杯省赛---蚂蚁感冒