【done】剑指offer63:股票的最大利润

news/2024/6/16 18:39:29 标签: 买股票, 动态规划

力扣188,https://leetcode.cn/problems/gu-piao-de-zui-da-li-run-lcof/description/(注意:本题与主站 121 题相同:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/)
动态规划思路;

方法1

class Solution {
    public int bestTiming(int[] prices) {
        int size = prices.length;
        if (size < 2) {
            return 0;
        }
        int[] dp = new int[size];         // dp[i]第i天操作可以获取的最大利润
        dp[0] = 0;
        dp[1] = prices[1] - prices[0];
        int max = Math.max(dp[0], dp[1]);
        for (int i = 2; i < size; ++i) {
            int diff = prices[i] - prices[i - 1];
            dp[i] = Math.max(diff + dp[i - 1], diff); // 卖 与 不卖 取较大值
            max = Math.max(max, dp[i]);
        }

        return max;
    }
}

方法2

找最小最大点,好方法!

class Solution {
    
    public int bestTiming(int[] prices) {
        int min = Integer.MAX_VALUE;
        int max = 0;
        for(int i = 0;i<prices.length;i++){
            min = Math.min(prices[i],min);
            max = Math.max(max,prices[i]-min);
        }
        return max;
    }
}

http://www.niftyadmin.cn/n/5181966.html

相关文章

Mybatis-Plus最新教程

目录 原理&#xff1a;MybatisPlus通过扫描实体类&#xff0c;并基于反射获取实体类信息作为数据库信息。 ​编辑1.添加依赖 2.常用注解 3.常见配置&#xff1a; 4.条件构造器 5.QueryWrapper 6.UpdateWrapper 7.LambdaQueryWrapper:避免硬编码 8.自定义SQL 9.Iservic…

写python用GitHub-Copilot编程提效 - pycharm

铺垫一下 你是否使用python&#xff0c;js&#xff0c;java等热门语言编码&#xff1f; 是否为代码加注释花费了不少时间&#xff1f; 还在为不懂python库&#xff08;三方库可太多了&#xff09;而困扰吗&#xff1f; 注册和插件安装 结合人工智能编程工具&#xff0c;py…

CentOS7.9安装docker

在CentOS 7.9上安装Docker可以通过官方的Docker安装脚本或者使用系统包管理工具来完成 本次使用系统包管理工具 打开终端&#xff0c;以root权限登录系统。 安装所需的依赖&#xff1a; yum install -y yum-utils device-mapper-persistent-data lvm2 添加Docker的官方仓库…

JavaEE初阶(18)(JVM简介:发展史,运行流程、类加载:类加载的基本流程,双亲委派模型、垃圾回收相关:死亡对象的判断算法,垃圾回收算法,垃圾收集器)

接上次博客&#xff1a;初阶JavaEE&#xff08;17&#xff09;Linux 基本使用和 web 程序部署-CSDN博客 目录 JVM 简介 JVM 发展史 JVM 运行流程 JVM的内存区域划分 JVM 执行流程 堆 堆的作用 JVM参数设置 堆的组成 垃圾回收 堆内存管理 类加载 类加载的基本流…

qsort对字符型指针数组排序

之前一直用qsort对整型数组进行排序&#xff0c;qsort同样可以对字符数组排序。但是这次对字符串指针数组排序&#xff0c;属实是绕了一会&#xff0c;记录一下。 文章目录 前言 一、字符型指针数组排序 1、qsort头文件 2、qsort 写法 3、对字符型指针数组进行排序 总结 前言 …

uniapp开发ios上线(在win环境下使用三方)

苹果 1、win环境下无法使用苹果os编译器所以使用第三方上传工具&#xff0c;以下示例为 初雪云 &#xff08;单次收费&#xff0c;一元一次&#xff09; 初雪云&#xff08;注册p12证书&#xff09;&#xff1a;https://www.chuxueyun.com/#/pages/AppleCertificate 苹果开发者…

计算属性传参的写法,在vue3项目中,

计算属性 | Vue.js 在vue3项目中&#xff0c;使用计算属性&#xff0c;在使用这个计算属性时&#xff0c;要传入参数写法有点怪 computed(函数&#xff09; 函数里面再返回一个函数&#xff0c;这个函数接收参数 注意&#xff1a;最后的结果是&#xff0c;这个计算属性函数并…

ElastaticSearch -- es客户端RestHighLevelClient

RestHighLevelClient es的客户端有 RestClient、 TransportClient 、 RestHighLevelClient&#xff0c; RestClient、 TransportClient不适合高版本的es&#xff0c;官方推荐使用RestHighLevelClient. maven配置pom.xml <properties><es.version>6.2.1</es.ve…