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

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

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

import java.util.*;


public class Solution {
    /**
     * 
     * @param prices int整型一维数组 
     * @return int整型
     */
    public int maxProfit (int[] prices) {
        // write code here
        // 这个题目,要用贪心算法来解决
        if(prices.length <= 1){
            return 0;
        }
        int profit = 0;
        // 表示买入价格,要找到最便宜的时候买入
        int minPrice = Integer.MAX_VALUE;
        for(int i = 0; i< prices.length; i++){
            // 找到最低价格
            minPrice = Math.min(minPrice,prices[i]);
            // 收益,要么是之前的,要么是现在的价格减去最低买入价格
            profit = Math.max(prices[i] - minPrice , profit);
        }
        return profit;
    }
}

minPrice是买入的最低价,一开始把它设置为最大值,然后不断缩小它。初始化profit为0,然后它等于当天价格减去最低买入价格,比较这个计算值和之前的profi,选最大的留下。这是贪心算法的典型题目。

全部评论

相关推荐

2025-12-18 21:55
济宁学院 Java
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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