C++實(shí)現(xiàn)LeetCode(122.買股票的最佳時(shí)間之二)
[LeetCode] 122.Best Time to Buy and Sell Stock II 買股票的最佳時(shí)間之二
Say you have an array for which the ith element is the price of a given stock on day i.
Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one and sell one share of the stock multiple times). However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).
這道跟之前那道Best Time to Buy and Sell Stock 買賣股票的最佳時(shí)間很類似,但都比較容易解答。這道題由于可以無限次買入和賣出。我們都知道炒股想掙錢當(dāng)然是低價(jià)買入高價(jià)拋出,那么這里我們只需要從第二天開始,如果當(dāng)前價(jià)格比之前價(jià)格高,則把差值加入利潤中,因?yàn)槲覀兛梢宰蛱熨I入,今日賣出,若明日價(jià)更高的話,還可以今日買入,明日再拋出。以此類推,遍歷完整個(gè)數(shù)組后即可求得最大利潤。代碼如下:
C++ 解法:
class Solution { public: int maxProfit(vector<int>& prices) { int res = 0, n = prices.size(); for (int i = 0; i < n - 1; ++i) { if (prices[i] < prices[i + 1]) { res += prices[i + 1] - prices[i]; } } return res; } };
Java 解法:
public class Solution { public int maxProfit(int[] prices) { int res = 0; for (int i = 0; i < prices.length - 1; ++i) { if (prices[i] < prices[i + 1]) { res += prices[i + 1] - prices[i]; } } return res; } }
類似題目:
Best Time to Buy and Sell Stock with Cooldown
Best Time to Buy and Sell Stock IV
Best Time to Buy and Sell Stock III
Best Time to Buy and Sell Stock
到此這篇關(guān)于C++實(shí)現(xiàn)LeetCode(122.買股票的最佳時(shí)間之二)的文章就介紹到這了,更多相關(guān)C++實(shí)現(xiàn)買股票的最佳時(shí)間之二內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C++實(shí)現(xiàn)LeetCode(128.求最長連續(xù)序列)
- C++實(shí)現(xiàn)LeetCode(126.詞語階梯之二)
- C++實(shí)現(xiàn)LeetCode(127.詞語階梯)
- C++實(shí)現(xiàn)LeetCode(124.求二叉樹的最大路徑和)
- C++實(shí)現(xiàn)LeetCode(123.買股票的最佳時(shí)間之三)
- C++實(shí)現(xiàn)LeetCode(121.買賣股票的最佳時(shí)間)
- C++實(shí)現(xiàn)LeetCode(119.楊輝三角之二)
- C++驗(yàn)證LeetCode包圍區(qū)域的DFS方法
相關(guān)文章
C語言深入分析遞歸函數(shù)的實(shí)現(xiàn)
遞歸(recursive)函數(shù)是“自己調(diào)用自己”的函數(shù),無論是采用直接或間接調(diào)用方式。間接遞歸意味著函數(shù)調(diào)用另一個(gè)函數(shù)(然后可能又調(diào)用第三個(gè)函數(shù)等),最后又調(diào)用第一個(gè)函數(shù)。因?yàn)楹瘮?shù)不可以一直不停地調(diào)用自己,所以遞歸函數(shù)一定具備結(jié)束條件2022-04-04C語言數(shù)據(jù)結(jié)構(gòu)之單向鏈表詳解
單向鏈表(單鏈表)是鏈表的一種,其特點(diǎn)是鏈表的鏈接方向是單向的,對鏈表的訪問要通過順序讀取從頭部開始。本文將為大家詳細(xì)講講單向鏈表的實(shí)現(xiàn)與使用,需要的可以參考一下2022-08-08C語言中網(wǎng)絡(luò)地址與二進(jìn)制數(shù)之間轉(zhuǎn)換的函數(shù)小結(jié)
這篇文章主要介紹了C語言中網(wǎng)絡(luò)地址與二進(jìn)制數(shù)之間轉(zhuǎn)換的函數(shù)小結(jié),是C語言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09對比C語言中memccpy()函數(shù)和memcpy()函數(shù)的用法
這篇文章主要介紹了對比C語言中memccpy()函數(shù)和memcpy()函數(shù)的用法,二者都是用于復(fù)制內(nèi)存內(nèi)容,注意區(qū)別,需要的朋友可以參考下2015-08-08