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

买卖股票的最好时机

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

动态规划做,在做之前,序列型问题,一般是双数组。

  1. 一定以给出的数组开始分条件讨论,这样讨论完了其实代码就写出来乐。、
  2. 计算顺序,最后结果是哪一个。
  3. 写df一般,对于dfi是指的是这一天,数组一般【i-1】,写的时候复原就好,你就知道是这一天的数组中的数就行
  4. 并且买卖股票是同一天两个状态一直进行的。
class Solution {
public:
    /**
     * 
     * @param prices int整型vector 
     * @return int整型
     */
    int maxProfit(vector<int>& prices) {
        // write code here

        int res = 0;

        if(!prices.size()){
            return res;
        }

        int dp[prices.size()][2];

        dp[0][0] = 0;
        dp[0][1] = -prices[0];

        //第二天开始遍历

        for(int i = 1; i<prices.size();i++){

            dp[i][0] = max(dp[i-1][0],dp[i-1][1]+prices[i]);
            dp[i][1] = max(dp[i-1][1],-prices[i]);


        }

        return dp[prices.size()-1][0];



    }
};
算法解析 文章被收录于专栏

这里主要是算法岗的自我思路总结

全部评论

相关推荐

神哥不得了:首先我就是在成都,成都的互联网格外的卷,如果是凭现在的简历的话很难找到大厂,建议再添加一个高质量的项目上去,另外专业技能的话最好是超过每一条的一半
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务