文章目錄
- 🌊前言
- 😉毛遂自薦
- ?題目
- ?解題思路
- 🌈案例講解
- 🔥代碼實作
- 💖福利
- 🌊 Java入門到就業學習路線規劃
- 🌊 小白快速入門Python爬蟲路線
🌊前言
Code皮皮蝦 一個沙雕而又有趣的憨憨少年,和大多數小伙伴們一樣喜歡聽歌、游戲,當然除此之外還有寫作的興趣,emm…,日子還很長,讓我們一起加油努力叭🌈
👉話不多說,直達底部有粉絲專享福利!!!
😉毛遂自薦
毛遂自薦一下,給大家推薦一下自己的專欄😁,歡迎小伙伴們收藏關注😊
大廠面試題專欄
Java專欄
爬蟲專欄
力扣刷題專欄
更多專欄盡在主頁,點我😁!!!
?題目

?解題思路
-
對陣列排序
-
貪心 + 雙指標
🌈案例講解

以案例3為例
對陣列排序后為:3,3,4,5,limit = 5
維護雙指標left = 0,right = people.length - 1
回圈條件:left <= right,因為當left == right時,還有一個人需要做船,所以不能使用left < right

案例3可能不太明顯,那么再以案例2講解一下

對陣列排序后為:1,2,2,3,limit = 3

為什么是left++,因為題目說了一個船最多做兩個人
🔥代碼實作
class Solution {
public int numRescueBoats(int[] people, int limit) {
Arrays.sort(people);
int len = people.length;
int left = 0, right = len - 1;
int res = 0;
while (left <= right) {
//一艘船最多坐兩個人,如果 people[left] + people[right] <= limit 成立,那么讓left++
//也就是盡可能地讓船坐兩個人,這就是貪心
if (people[left] + people[right] <= limit) {
++left;
}
--right;
++res;
}
return res;
}
}
💖福利
公眾號干貨內容輸出,囊括Java、Python爬蟲、力扣題解、大廠面試題 四大系列,更有長時間總結的干貨資源分享
🌊 Java入門到就業學習路線規劃
關注底部公眾號回復: Java學習路線,即可領取全套資料

🌊 小白快速入門Python爬蟲路線
關注底部公眾號回復: 爬蟲學習路線,即可領取全套資料

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/305438.html
標籤:java
