题解 | #买卖股票的最好时机#

买卖股票的最好时机

http://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec

比较简单的动态规划。用一个变量保存最小值,另一个变量保存最大收益。
遍历数组:
1.当该数比最小值小时,将其赋给最小值。
2.将该数与最小值相减得到该数所能得到的最大收益,若该收益比最大收益大,将其赋给最大收益
最终即得最大收益。

class Solution {
public:
    /**
     * 
     * @param prices int整型vector 
     * @return int整型
     */
    int maxProfit(vector<int>& prices) {
        // write code here
        int max = 0;
        int min = 10000;
        for(int i = 0;i < prices.size();i++){
            if(prices.at(i)<min){
                min = prices.at(i);
            }
            int diff = prices.at(i) - min;
            if(diff > max){
                max = diff;
            }
        }
        return max;
    }
};
全部评论

相关推荐

10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务