zoukankan      html  css  js  c++  java
  • Lc122_买卖股票的最佳时机II

    package com.example.leetcode;
    
    /**
     * @description: 122. 买卖股票的最佳时机 II
     * 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。
     * <p>
     * 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
     * <p>
     * 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
     * <p>
     * <p>
     * <p>
     * 示例 1:
     * <p>
     * 输入: prices = [7,1,5,3,6,4]
     * 输出: 7
     * 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。
     * 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。
     * 示例 2:
     * <p>
     * 输入: prices = [1,2,3,4,5]
     * 输出: 4
     * 解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。
     * 注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。
     * 示例 3:
     * <p>
     * 输入: prices = [7,6,4,3,1]
     * 输出: 0
     * 解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
     * <p>
     * <p>
     * 提示:
     * <p>
     * 1 <= prices.length <= 3 * 104
     * 0 <= prices[i] <= 104
     * @author: licm
     * @create: 2021-05-13 14:57
     **/
    public class Lc122_买卖股票的最佳时机II {
        /**
         * 贪心 局部最优解=全局最优解
         * @param prices
         * @return
         */
        public static int maxProfit(int[] prices) {
            int res = 0;
            for (int i = 0; i < prices.length - 1; i++) {
                int temp = (prices[i + 1] - prices[i]) > 0 ? (prices[i + 1] - prices[i]) : 0;
                res += temp;
            }
            return res;
        }
    
        public static void main(String[] args) {
            int[] prices = {7,1,5,3,6,4};
            System.out.println(maxProfit(prices));
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    不会,我可以学;落后,我可以追赶;跌倒,我可以站起来!
  • 相关阅读:
    Spyder 快捷键大全
    上传代码到github,出现 git@github.com: Permission denied (publickey) 错误
    Linux ubuntu 安装 openssh-server 报错
    win10删除「此电脑」中的文档、视频、音乐、下载、图片、桌面等6个文件夹的方法
    IDEA 光标闪烁问题
    委托、Action泛型委托、Func泛型委托、Predicate泛型委托的用法
    C#6.0的新语法特性
    创建多个网站
    发送短信功能(C#)
    VS开发Windows服务
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/14764769.html
Copyright © 2011-2022 走看看