Java 买卖股票的最佳时机

买卖股票的最佳时机

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

  1. 首先排除直接进行 Arrays.sort(),因为我们没法保证股票不会跌价;
  2. 最少赚取的钱应该为0,不会小于零,所以定义 max 初始值为 0;
  3. 两个循环,外循环是买价,内循环是卖价,内循环是在外循环天数的基础上加一;
  4. 然后用三目运算进行判断即可。
    代码如下:
     public int maxProfit (int[] prices) {
         // write code here
         int length = prices.length;
         if (length <= 0) return 0;
         int max = 0;
         for (int i = 0; i < length - 1; i ++) {
             for (int j = i + 1; j < length; j ++) {
                 max = (prices[j] - prices[i] > max ? prices[j] - prices[i] : max);
             }
         }
         return max;
     }
全部评论

相关推荐

牛客773130651号:巨佬,简历模板换成上下的,左右的很烦,hr看着不爽。。。科大随便乱杀,建议能保研就保研,不行也得考一下 ,985硕去干算法,比开发强多了。开发许多双非都能搞,学历优势用不上,算法有门槛
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

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