LeetCode-121-買賣股票的最佳時(shí)機(jī)

題目描述:給定一個(gè)數(shù)組 prices ,它的第 i 個(gè)元素 prices[i] 表示一支給定股票第 i 天的價(jià)格。
你只能選擇 某一天 買入這只股票,并選擇在 未來的某一個(gè)不同的日子 賣出該股票。設(shè)計(jì)一個(gè)算法來計(jì)算你所能獲取的最大利潤。
返回你可以從這筆交易中獲取的最大利潤。如果你不能獲取任何利潤,返回 0 。
示例說明請(qǐng)見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
解法一:動(dòng)態(tài)規(guī)劃
否則,聲明一個(gè)變量result為0,buyPrice為prices的第一個(gè)值,從prices的第2個(gè)值開始遍歷:
如果當(dāng)前值等于buyPrice,則跳過處理下一個(gè)值;
如果當(dāng)前值小于buyPrice,則更新buyPrice為當(dāng)前值;
如果當(dāng)前值大于buyPrice,判斷當(dāng)前值和buyPrice的差值是否比result大,如果更大,則更新result的值。
遍歷完成后,返回result。
【每日寄語】 三月悄然去,四月翩然來。最美四月天,莫負(fù)春光美。前路皆坦蕩,萬事皆可期。
標(biāo)簽: