题解 | 买卖股票的最好时机(一)

买卖股票的最好时机(一)

https://www.nowcoder.com/practice/351b87e53d0d44928f4de9b6217d36bb

#include <bits/stdc++.h>
using namespace std;

const int N = 1e5 + 1;
int n,dp[N][2],a[N];
//dp[i][0]表示当前没有股票,dp[i][1]表示当前有股票,最后的答案就是dp[n][0]

int main(){

    cin>>n;
    for(int i = 1;i<=n;i++) cin>>a[i];

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

    for(int i = 2;i<=n;i++){
        dp[i][0]  = max(dp[i-1][1]+a[i],dp[i-1][0]);
        dp[i][1] = max(dp[i-1][1],-a[i]);  
    }

    // for(int i = 1;i<=n;i++) cout<<dp[i][1]<<" ";cout<<"\n";
    // for(int i = 1;i<=n;i++) cout<<dp[i][0]<<" ";cout<<"\n";
    cout<<dp[n][0];

    return 0;
}

#牛客春招刷题训练营#https://www.nowcoder.com/discuss/727521113110073344

全部评论

相关推荐

04-25 19:29
已编辑
宁波大学 运营
被普调的六边形战士很高大:你我美牛孩
点赞 评论 收藏
分享
04-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务