LeetCode --- Best Time to Buy and Sell Stock II

题目链接

 

附上代码:

 1 class Solution {
 2 public:
 3     int maxProfit(vector<int> &prices) {
 4         unsigned int len = prices.size();
 5         if (len == 0) return 0;
 6         // ans: holds the total profit that has been earned
 7         int ans = 0;
 8         for (int i = 0; i < len; ) {
 9             // buy: holds price of the ith day where 
10             //      i is the maximum index satisfing
11             //      prices[i-1] > prices[i] and prices[i] <= prices[i+1]
12             int buy = prices[i++];
13             while (i < len && prices[i] < buy) {
14                 buy = prices[i++];
15             }
16             if (i >= len) return ans;
17             // sell: holds price of the ith day where
18             //       i is the maximum index satisfing
19             //       prices[i-1] < prices[i] and prices[i] >= prices[i+1]
20             int sell = prices[i++];
21             while (i < len && prices[i] > sell) {
22                 sell = prices[i++];
23             }
24             ans += (sell - buy);
25         }
26         
27         return ans;
28     }
29 };

 

posted on 2014-05-26 23:50  Stomach_ache  阅读(107)  评论(0编辑  收藏  举报

导航