Java数据结构与算法(leetcode热题881. 救生艇)

前言

救生艇属于贪心算法,解题之前条件一定要归纳好。题目中存在3个要求:

1.一艘船最多坐2人

2.船数要求最小

3.每艘船重量小于limit

意味着体重较轻的两人可以同乘一艘救生艇。

. - 力扣(LeetCode)

实现原理

1.重量大的有轻的可以配对,则可以配对同乘。

2.重量大的没有轻的可以配对,则单独乘。

3.涉及到轻重配对,最佳还是优先给予排序好的数据进行配对。

具体代码实现

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

QA1:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/25557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习-14-重温经典的用户流失数据挖掘竞赛(实战)

PYTHON用户流失数据挖掘 用户流失预测案例分析 旅游平台用户流失预测 客户流失及用户画像分析 参考和鲸社区的赛题及数据集下载链接地址 1 收集数据 一、项目介绍 携程作为中国领先的综合性旅行服务公司,每天向超过2.5亿会员提供全方位的旅行服务,在这海量的网站访问量中,…

【设计模式深度剖析】【4】【行为型】【策略模式】

&#x1f448;️上一篇:职责链模式 设计模式-专栏&#x1f448;️ 文章目录 策略模式定义英文原话直译 角色类图策略接口Strategy&#xff1a;具体策略类上下文类Context测试类 策略模式的应用策略模式的优点策略模式的缺点策略模式的使用场景 策略模式 策略模式&#xff08…

33、matlab矩阵分解汇总:LU矩阵分解、Cholesky分解和QR分解

1、LU矩阵分解 语法 语法1&#xff1a;[L,U] lu(A) 将满矩阵或稀疏矩阵 A 分解为一个上三角矩阵 U 和一个经过置换的下三角矩阵 L&#xff0c;使得 A L*U。 语法2&#xff1a;[L,U,P] lu(A) 还返回一个置换矩阵 P&#xff0c;并满足 A P*L*U。 语法3&#xff1a;[L,U,P] …

Java--递归

1.递归就是A方法调用A方法&#xff0c;也就是调用自己本身 2.利用递归可以用简单的程序来解决一些复杂的问题&#xff0c;它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解&#xff0c;递归策略只需少量的程序就可描述出解题过程所需要的多次重复…

Position定位

Position定位 CSS中position属性是比较常用的元素定位方案&#xff0c;position常用的取值有static、relative、absolute、fixed、sticky、inherit。 static static属性是HTML元素的默认值&#xff0c;即没有定位&#xff0c;遵循正常的文档流对象&#xff0c;对于top、bott…

【Python入门与进阶】常见问题与解决方法

1.Anaconda包管理 使用pip卸载包时&#xff0c;报错“无法访问’&#xff0c;在conda环境下进行pip install时&#xff0c;出现拒绝访问的错误 [WinError 5] 2.Jupyter问题 笔记本运行时无反应/文件无法重命名&#xff1a;【Python】Jupyter Notebook无法运行代码&#xff0c…

FENCE.I指令

FENCE.I指令 一、FENCE.I指令简介二、FENCE.I指令举例三、FENCE.I指令格式一、FENCE.I指令简介 FENCE.I 是 RISC-V 指令集架构中的一种 Fence 指令,用于同步指令缓存(Instruction Cache),用于保证内存操作的正确性和顺序性。具体来说,FENCE.I指令可以确保之前发出的所有对…

Java数据结构与算法(买卖股票的最佳时机二贪心算法)

前言 买卖股票最佳时机二&#xff0c;此时不限次数的买卖的要求获得的利益最大化。暴力算法依旧可行&#xff0c;可以参考之前的练习。 . - 力扣&#xff08;LeetCode&#xff09; 贪心算法原理参考:Java数据结构与算法(盛水的容器贪心算法)-CSDN博客 实现原理 1.定义最大…

基于Transformer的模型常见的张量类型

在自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;特别是使用基于Transformer的模型&#xff08;如BERT、RoBERTa等&#xff09;进行微调时&#xff0c;输入数据通常会被编码成几个关键的张量。以下是三个最常见的张量类型&#xff1a;input_ids、attention_mask和…

Discuz! X3.4卡密购买用户组PC手机版

下载地址&#xff1a;Discuz! X3.4卡密购买用户组PC手机版 插件简介&#xff1a; 1.在后台可设置售卖的用户组、用户组的价格、用户组的描述等信息&#xff0c;配置灵活多变。 2.后台可设置用户组到期后的用户组 3.同一用户购买同一用户组用户组到期时间累加 4.可以设置同一用…

Ubuntu 24.04 LTS 安装配置 MySQL Community Server 8.4.0 LTS

1 安装 Apt Repository ​​​​​​​地址MySQL :: Download MySQL APT Repository sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb #安装mysql 8.4 lts sudo apt update sudo apt-get install mysql-server #修改mysql root密码策略 2 查看版本 testtest:~$ mysqld --v…

力扣每日一题 6/10

881.救生艇[中等] 题目&#xff1a; 给定数组 people 。people[i]表示第 i 个人的体重 &#xff0c;船的数量不限&#xff0c;每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人&#xff0c;但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船…

LinkedList详解(含数据结构动画演示)

目录 LinkedList详解1、LinkedList的继承体系2、LinkedList的构造函数3、LinkedList的add(E e)方法4、LinkedList的Node节点5、双向链表的概念和Node节点的详细解释6、LinkedList的add(E e)方法梳理7、LinkedList的getXXX方法8、LinkedList的removeXXX方法①、removeFirst()方法…

论述MySQL的同异步复制

MySQL的复制功能是数据库系统中一个重要的特性&#xff0c;它可以实现数据的冗余备份和分布式读写&#xff0c;提高系统的可靠性和性能。MySQL的复制主要分为异步复制、半同步复制和同步复制&#xff0c;这三种复制方式在机制和使用场景上有显著的不同。 异步复制 特点 主从…

如何进行《我的世界》基于Spigot的插件开发

如何进行《我的世界》基于Spigot的插件开发 《我的世界》&#xff08;Minecraft&#xff09;是一款沙盒游戏&#xff0c;允许玩家在一个由方块组成的三维世界中进行探索、建造和冒险。通过使用Spigot服务器&#xff0c;你可以为《我的世界》开发自定义插件&#xff0c;扩展游戏…

python常用命令集

1、pip 命令 正常安装 pip install package_name 更新包 pip install --upgrade package_name 安装指定版本 pip install robotframework2.8.7 查看已安装的库 pip list 2、指定镜像源 手动指定 pip install -i http://pypi.douban.com/simple Flask -- trusted-host …

详解MySQL的MVCC机制与间隙锁

在MySQL的InnoDB存储引擎中&#xff0c;MVCC&#xff08;多版本并发控制&#xff09;和间隙锁&#xff08;Gap Lock&#xff09;是两种关键的并发控制机制。MVCC主要用于提高读写并发性能&#xff0c;而间隙锁则用于实现更严格的事务隔离&#xff0c;防止幻读现象。以下是对MyS…

Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.1 从零移植 Linux kernel,基于RISC-V

1. 概述 上一章节我们已经将u-boot部署好了,本章节,我们将从零移植Naruto-Pi的Linux kernel,移植通用RISCV很简单,在移植之前,大家也可以参考我之前写的文章,Linux ARM平台开发系列讲解(QEMU-体验篇) 1.1 编译QEMU 构建RISC-V64架构 运行Linux kernel 2. Linux kernel…

python小tips

函数&#xff1a; 格式&#xff1a; def 函数的名字():函数体例如&#xff1a;def playgame():print("I am playing!")函数调用&#xff1a; playgame()调用的方法&#xff1a; 函数名() 函数的定义只是定义函数&#xff0c;调用了才会有结果 函数的参…

Tomcat源码解析(八):一个请求的执行流程(附Tomcat整体总结)

Tomcat源码系列文章 Tomcat源码解析(一)&#xff1a;Tomcat整体架构 Tomcat源码解析(二)&#xff1a;Bootstrap和Catalina Tomcat源码解析(三)&#xff1a;LifeCycle生命周期管理 Tomcat源码解析(四)&#xff1a;StandardServer和StandardService Tomcat源码解析(五)&…