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

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

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

双指针方法

  public static void main(String[] args) {
        int[] arr = {8, 9, 2, 5, 4, 7, 1};
        System.out.println(max(arr));

    }

    public static int max(int[] prices) {
        if (prices.length == 0 || prices == null) {
            return 0;
        }
        //记录最大利润
        int maxPro = 0;
        int min = prices[0];//记录数组中访问过的最小值
        for (int i = 1; i < prices.length; i++) {
            min = Math.min(min, prices[i]);  //遍历到的元素一直和已知的最小值进行比较,找到后就一直固定
            maxPro = Math.max(prices[i] - min, maxPro);   //不断寻找利益的最大值
        }

        return maxPro;

    }

全部评论

相关推荐

11-21 14:37
江苏大学 Java
点赞 评论 收藏
分享
迷茫的大四🐶:价格这么低都能满了?
点赞 评论 收藏
分享
10-30 16:31
重庆大学 Java
代码飞升_不回私信人...:你说你善于学习,大家都会说。你说你是985,985会替你表达一切
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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