当前位置: 首页 > news >正文

网站内容的丰富性南宁网站建设gxskm

网站内容的丰富性,南宁网站建设gxskm,常见的一级域名com代表,网站后台怎么打开881.救生艇[中等] 题目: 给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船…

881.救生艇[中等]

题目:

给定数组 people 。people[i]表示第 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 <= 5 * 10**4
  • 1 <= people[i] <= limit <= 3 * 10**4

 题目分析:

        一艘船最多上两个人,要使船只最少那就只能让每只船载人尽可能多,那么最多就是两个人,这里对people数组进行排序(假设从小到大排),然后定义双指针分别指头和尾。判断头+尾是否大于limit:

  • 大于的话则说明尾指针指向的最大值只能单独乘船,此时应单独分配一艘船给体重最重的人。从 people中去掉体重最重的人后,我们缩小了问题的规模,变成求解剩余 n−1 个人所需的最小船数,将其加一即为原问题的答案,此时尾指针向前走,船只加一;
  • 否则则说明 头 可以和 尾  一起乘船,那么头也能与其余任何人同乘一艘船,为了尽可能地利用船的承载重量,选择与体重最重的人同乘一艘船是最优的。从 people 中去掉体重最轻和体重最重的人后,就缩小了问题的规模,变成求解剩余 n−2 个人所需的最小船数,将其加一即为原问题的答案。此时头尾都往中间走一步,船只加1。以此类推,遍历一遍过去即可出答案。

代码实现:

class Solution:def numRescueBoats(self, people: List[int], limit: int) -> int:people.sort()n=len(people)if n==1: return 1res=0st,ed=0,n-1while st<=ed:if people[st]+people[ed]<=limit:res+=1st+=1ed-=1else:res+=1ed-=1return res

总结:

       代码的逻辑是基于贪心算法,每次尽可能多地安排乘客乘坐救生艇达到最少的船只数,最后返回res即为所需的最少船只数。具体步骤如下:

  1. 首先对乘客的重量列表进行排序,这样可以从小到大依次选择乘客。
  2. 使用双指针st和ed分别指向排序后的乘客列表的第一个和最后一个元素。
  3. 如果st指向的乘客和ed指向的乘客的重量之和不超过limit,则表示可以安排这两个乘客乘坐一艘救生艇,此时res加1,同时移动st和ed指针继续判断下一组乘客。
  4. 如果st指向的乘客和ed指向的乘客的重量之和超过limit,则只能让ed指向的乘客单独乘坐一艘救生艇,此时res加1,移动ed指针继续判断。

http://www.yayakq.cn/news/973759/

相关文章:

  • 商城网站建设清单图片生成网站
  • 建设网站使用的工具营销型网站建设明细
  • 珠海门户网站建设报价网站信管局备案
  • 设计网站的意义本科学历提升
  • 做网站内容网站正在建设中模板下载
  • 火速网站建设wordpress+博客主题
  • 电子商务网站建设目的公司做网站要注意什么
  • 网站开发绑定微信qq注册小程序制作费用多少
  • 营销型网站定位外贸品牌网站设计公司
  • 网站建设颊算烈士陵园网站建设方案百度文库
  • 网站开发类优惠及服务承诺wps文字可以做网站吗
  • 做网站服务器多钱宿迁定制网站建设
  • 合肥建设网站获客系统用记事本做网站
  • 天津网站设计公司实名网站空间哪里买
  • 网站没有收录了微信商城有哪些第三方平台
  • 辽宁省建设工程信息网官网新网站入口官方搜索引擎的三个技巧
  • 阿里云做网站可以免备案吗定州做网站
  • 中国林业工程建设协会官方网站网站返回首页怎么做的好看
  • vue门户网站模板成都装修设计公司
  • 青岛胶州网站建设net开发网站
  • 在线教育网站模板方城微网站开发
  • 国外对旅游网站的建设wordpress建数据库
  • 温州企业网站用服务器ip做网站
  • 网站开发技术期末考试试题平面设计网络课程推荐
  • 网络优化公司网站代码深圳住房和建设局网站
  • 网站培训制度国外做旅游攻略的网站
  • 枞阳网站制作图片编辑器在线制作
  • 网站模板尺寸wordpress底下固定
  • 云平台网站叫什么网店美工有什么重要作用
  • 宁夏建设职业技术学院网站免费logo