每人承载的最少船只数量

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

每艘船最多同时载运 2 人,且这些人的重量总和不得超过限制。

返回承载每个指定人员的最少船只数量。(保证每个人都能被一艘船运载。)

示例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)

我得到第二个示例的错误输出,得到输出 2 而不是 3 我的代码有什么问题我想要这样的代码


慕村225694
浏览 97回答 1
1回答

米琪卡哇伊

class Solution {&nbsp; &nbsp; public int numRescueBoats(int[] people, int limit) {&nbsp; &nbsp; &nbsp; &nbsp; int count = 0;&nbsp; &nbsp; &nbsp; &nbsp; int i;&nbsp; &nbsp; &nbsp; &nbsp; int j = people.length - 1;&nbsp; &nbsp; &nbsp; &nbsp; Arrays.sort(people);&nbsp; &nbsp; &nbsp; &nbsp; for (i = 0; i < j; i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (people[i] + people[j] <= limit) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; i++;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; j--;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; j--;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; count++;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return count;&nbsp; &nbsp; }}示例 2 获取2输出3
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java