题解 | 买卖股票的最好时机(二)(动态规划和贪心算法)

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

https://www.nowcoder.com/practice/fbc5dad3e215457fb82a3ae688eb7281


import java.util.Scanner;

// 贪心算法解决问题
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        int n = in.nextInt();
        int[] nums = new int[n];
        for(int i = 0; i < n;i++){
            nums[i] = in.nextInt();
        }
        System.out.println(run(n,nums));
    }
     public static int run(int n,int[] nums){
        if(n == 1||n == 0){
            return 0;
        }

         int maxProfit = 0;
        for (int i = 1; i < n; i++) {
            // 只要今天的价格比昨天高,就累加利润
            if (nums[i] > nums[i - 1]) {
                maxProfit += nums[i] - nums[i - 1];
            }
        }

        return maxProfit;
    }
}


/**  // 动态规划二维数组解决问题
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        int n = in.nextInt();
        int[] nums = new int[n];
        for(int i = 0; i < n;i++){
            nums[i] = in.nextInt();
        }
        System.out.println(run(n,nums));
    }
     public static int run(int n,int[] nums){
        if(n == 1||n == 0){
            return 0;
        }
        // 在此定义的dp数组的含义为,0为第i天未持有股票,1为第i天持有股票
        int[][] dp = new int[n][2];
        dp[0][0] = 0;
        dp[0][1] = -nums[0];

        for(int i = 1;i < n;i++){
            dp[i][0] = Math.max(dp[i - 1][0] , dp[i - 1][1] + nums[i]);// 未持有股票,就相当于抛出,抛出就要获得当天的钱
            dp[i][1] = Math.max(dp[i - 1][1] , dp[i - 1][0] - nums[i]);// 持有股票,就相当于买入,抛出就要指出当天的钱
        }

        return dp[n-1][0];
    }
}*/

全部评论

相关推荐

04-02 10:09
门头沟学院 Java
用微笑面对困难:这里面问题还是很多的,我也不清楚为啥大家会感觉没啥问题。首先就是全栈开发实习9个月的内容都没有java实习生的内容多,1整个技术栈没看出太核心和难点的内容,感觉好像被拉过去打杂了,而且全栈基本上很容易被毙。里面能问的bug是在太多了比如L:继承 BaseMapper 可直接使用内置方法’。请问你的 BaseMapper 是如何扫描实体类注解如果瞬时产生 100 个上传任务,MySQL 的索引设计是否会有瓶颈?你做过分库分表或者索引优化吗?全栈的内容可以针对动态难点去搞,技能特长写在下面吧,你写了这么多技能,项目和实习体现了多少?你可以在项目里多做文章然后把这个放下去,从大致来看实习不算太水,有含金量你也要写上内容针对哨兵里面的节点变化能问出一万个问题,这个很容易就爆了。
提前批简历挂麻了怎么办
点赞 评论 收藏
分享
04-08 23:37
已编辑
东华大学 结构工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务