【一起擺爛】1705. 吃蘋果的最大數(shù)目
1705. 吃蘋果的最大數(shù)目 - 力扣(Leetcode)
(https://leetcode.cn/problems/maximum-number-of-eaten-apples/description/)
擺爛人,還請各位大佬多多指點(diǎn)。
?題目自行去看力扣官網(wǎng)。
知識點(diǎn):貪心算法,優(yōu)先隊(duì)列
思路:題目給了兩個(gè)數(shù)組,下標(biāo)代表第幾天,apples:每天會長幾個(gè)蘋果。days:每天生長出來的蘋果,第幾天后腐爛,也就是在第i+days[i]天會腐爛。
我的想法就是利用貪心算法和優(yōu)先隊(duì)列。
創(chuàng)建一個(gè)數(shù)組對象newApple,里面放兩個(gè)值,一個(gè)是當(dāng)天生長出來的蘋果數(shù)量,一個(gè)是在第幾天蘋果會腐爛。
把newApple放入到優(yōu)先隊(duì)列中(根據(jù)腐爛時(shí)間進(jìn)行排序)
然后就是吃蘋果,分為兩部分,生長蘋果期間吃蘋果和蘋果不再生長吃剩下的蘋果
生長期間吃蘋果,首先判斷蘋果有沒有腐爛,把腐爛的蘋果扔掉,再吃
不再生長蘋果吃剩下的蘋果同樣判斷蘋果有沒有腐爛,然后吃蘋果
其他請看代碼注釋
(優(yōu)先隊(duì)列使用方法可以參考這篇文章https://blog.csdn.net/qq_43776742/article/details/92831821)
(堆的理解可以看這個(gè)視頻:?https://www.bilibili.com/video/BV1uK4y177nQ/?share_source=copy_web&vd_source=d45b41d11a6a375554b2d44a668e49ad)
(大根堆,小根堆的寫法可以參考這篇文章:https://blog.csdn.net/weixin_60664694/article/details/127769765)