LeetCode: Best Time to Buy and Sell Stock II
少数次修改吧,忘了加最后一个递增曲线了
1 class Solution { 2 public: 3 int maxProfit(vector<int> &prices) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 if (prices.size() <= 1) return 0; 7 int minprice = prices[0]; 8 int maxprofit = 0; 9 for (int i = 1; i < prices.size(); i++) { 10 if (prices[i] > prices[i-1]) continue; 11 else { 12 maxprofit += prices[i-1] - minprice; 13 minprice = prices[i]; 14 } 15 } 16 if (prices[prices.size()-1] >= prices[prices.size()-2]) 17 maxprofit += prices[prices.size()-1] - minprice; 18 return maxprofit; 19 } 20 };
java
1 public class Solution { 2 public int maxProfit(int[] prices) { 3 int ans = 0; 4 if (prices.length < 2) return ans; 5 for (int i = 1; i < prices.length; i++) 6 { 7 ans += Math.max(0, prices[i] - prices[i-1]); 8 } 9 return ans; 10 } 11 }