作者SuiseiLeda (彗星雷達)
看板Marginalman
標題Re: [LeetCode] 刷到面試 Grind169 C++
時間Tue Mar 14 16:59:44 2023
Best Time to Buy and Sell Stock easy題
我自己會暴力解
然後當然不會過
可悲
然後學一下DP怎麼寫
題外話
要怎麼runtime跟memory都beat90%啊
要壓那麼低是有甚麼特殊解法嗎
還是單純我太爛
class Solution {
public:
int maxProfit(vector<int>& prices) {
const int n = prices.size();
if(n<1) return 0;
vector<int> min_price(n);
vector<int> max_profit(n);
min_price[0]=prices[0];
max_profit[0]=0;
for(int i=1;i<n;i++){
min_price[i]=min(min_price[i-1], prices[i]);
max_profit[i]=max(max_profit[i-1], prices[i]-min_price[i-1]);
}
return max_profit[n-1];
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.136.219 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1678784386.A.500.html
推 sustainer123: 演算法?我是常常一個爆高一個爆低 03/14 17:08
→ SuiseiLeda: 我都很低 我又想iwin了 03/14 17:09
→ sustainer123: 多看解答ㄅ 學習別人的想法 03/14 17:10
推 Ericz7000: 你這個DP只有用到前面一個變數 不需要創陣列呀 03/14 17:28