121_买卖股票的最佳时机

简介: 121_买卖股票的最佳时机

121_买卖股票的最佳时机


package 数组;
/**
 * https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/
 * 
 * @author Huangyujun
 *
 *         题意:其实就是买卖股票,我觉得低买高卖即可[找到当前两个数组元素之间相差的值最大]
 */
public class _121_买卖股票的最佳时机 {
    // 暴力法:超时
    // 找到价格最低点,在这之后剩余的找到价格最高的点
    // 算法:两层循坏需要优化【左右指针优化一下吧,需要考虑的是两个指针移动判断(不知道指针移动走向)~优化成二分查找算法】
//    public int maxProfit(int[] prices) {
//        int money = 0;
//        for(int i = 0; i < prices.length - 1; i++) {    //外层循坏买入股票
//            //一开始假设第一天买入
////            k = i;
//            for(int j = i + 1; j < prices.length; j++) {
//                int profit = prices[j] - prices[i];
//                if(profit > money) {
//                    money = profit;
//                }
//            }
//        }
//        return money;
//    }
    /**
     * 两次遍历太暴力了,超时了
     * 修改为一次遍历(在此遍历的过程中不断的更新找到最低点(最低点作为买点), 后续的非最低点,则考虑是否可以作为卖点)
     * @param prices
     * @return
     */
    public int maxProfit(int prices[]) {
        int minprice = Integer.MAX_VALUE;
        int maxprofit = 0;
        for (int i = 0; i < prices.length; i++) {
            if (prices[i] < minprice) {
                minprice = prices[i];
            } else if (prices[i] - minprice > maxprofit) {
                maxprofit = prices[i] - minprice;
            }
        }
        return maxprofit;
    }
}

 


目录
相关文章
|
8月前
|
算法
《LeetCode》—— 买卖股票的最佳时机
《LeetCode》—— 买卖股票的最佳时机
|
算法
【动态规划刷题 7】 买卖股票的最佳时机含冷冻期&& 买卖股票的最佳时机含手续费
【动态规划刷题 7】 买卖股票的最佳时机含冷冻期&& 买卖股票的最佳时机含手续费
|
7月前
|
存储 算法 数据可视化
买卖股票的最佳时机 II(LeetCode 122)
买卖股票的最佳时机 II(LeetCode 122)
|
8月前
|
算法
leetcode121. 买卖股票的最佳时机
leetcode121. 买卖股票的最佳时机
41 0
|
8月前
|
算法 C++
买卖股票的最佳时机(C++)
买卖股票的最佳时机(C++)
74 0
|
8月前
|
算法
leetcode-123:买卖股票的最佳时机 III
leetcode-123:买卖股票的最佳时机 III
48 0
|
8月前
|
算法
leetcode-121:买卖股票的最佳时机
leetcode-121:买卖股票的最佳时机
59 0
|
算法
买卖股票的最佳时机II
买卖股票的最佳时机II
81 0
leetcode 121 买卖股票的最佳时机
leetcode 121 买卖股票的最佳时机
89 0
leetcode 121 买卖股票的最佳时机