leetcode-Best Time to Buy and Sell Stock II(2014.2.17)
即是求整個波浪線的上升過程,解法略顯繁瑣,當可以直接採用判斷,若數組中元素後一個比前一個大,則不斷累加的方法。
class Solution {
public:
int maxProfit(vector<int> &prices) {
int low;
int high;
int maxPro=0;
int flag=1;//判斷增減
if(prices.size()<2) return 0;
low=prices[0];
high=prices[0];
for(int i=1;i<prices.size();i++){
if(prices[i]<prices[i-1]){
if(flag==1){
maxPro+=high-low;
flag=0;
}
low=prices[i];
}
if(prices[i]>=prices[i-1]){
high=prices[i];
flag=1;
}
}
if(flag==1) maxPro+=high-low;
return maxPro;
}
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.