剑指0ffer63股票的最大利润(动态规划)

本文解析了如何通过动态规划解决股票最大利润问题,通过实例演示了解买卖股票一次的最优策略,关键在于确定买入价的最低点和卖出价的最高点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

剑指0ffer63股票的最大利润(动态规划)

题目描述

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
示例1:

输入: [7,1,5,3,6,4]
输出: 5
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。

示例2:

输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。

解题思路

因为涉及到最优解因此使用动态规划思想来解答。由于只对股票进行一次的买入和卖出操作,因此只需要分别找到买入和卖出的最佳时机即可,话句话说就是找到数组中的最小值为买入点,最大值为卖出点。
问题的目标分析清楚了, 那么就下来的关键就是明确动态规划的三要素:

  • dp[i]状态元素的定义:既然要求的是最大的利润值,那显而易见dp[i]的含义是以当前下标i为结尾的子数组的利润的最大值
  • 转移方程:当前i日的利润dp[i]的值为此前一段时间内的利润最大值加上第i日的利润:dp[i] = max(dp[i-1],prices[i]-min(preice[0:i])),其中prices是给定的价值数组。
  • 初始状态: 由于dp表代表的是利润,因此dp[0]代表第一天的利润,为0;
    在这里插入图片描述
    可以使用一个变量代替dp 列表

代码实现

import javax.swing.*;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] nums = null;
        //键盘输入数组,以空格分隔
        nums = sc.nextLine().split(" ");
        int[] num = new int[nums.length];
        for(int i = 0; i < nums.length; i++){
            num[i] = Integer.valueOf(nums[i]);
        }
        System.out.println(maxProfit(num));
    }
    public static int maxProfit(int[] prices){
        if(prices.length == 0) return 0;
        int res = 0, min = prices[0];
        for(int i = 1; i < prices.length; i ++){
            //动态寻找股票价格最小值
            min = Math.min(min, prices[i-1]);
            //动态计算利润最大值
            res = Math.max(res, prices[i] - min);
        }
        return res;
}
}
内容概要:本报告探讨了AI赋能汽车行业智能化转型的技术创新,涵盖了研发设计智能化、用户运营智能化和座舱体验智能化三大核心场景。通过解析智己汽车的实践,展示了AI在压缩研发周期、提升销售转化率和优化座舱体验等方面的实际价值。报告指出,AI技术正深刻改变汽车产业的价值链,推动从“机械制造”向“移动智能体”的转变,并提出了未来汽车行业智能化的发展趋势,包括更个性化的用户体验、跨产业融合以及数据安全和隐私保护的重要性。 适合人群:汽车行业从业者、技术研发人员、市场营销人员、政策制定者及相关领域的研究者。 使用场景及目标:①理解AI技术在汽车研发设计中的应用,如生成式设计、仿真优化和智能测试;②掌握AI在用户运营中的应用,如智能内容生成、销售辅助和数据闭环优化;③了解AI在座舱体验中的应用,如多意图服务编排、情感计算和端到端语音链路优化;④探讨未来汽车行业智能化的发展方向,包括个性化服务、产业融合和数据安全。 其他说明:本报告不仅提供了理论和技术层面的分析,还结合了具体的落地实践案例,为企业在智能化转型过程中提供了可复用的AI赋能框架。报告强调了政策支持、技术创新和产业协同在推动汽车行业智能化转型中的重要作用,旨在为行业提供有价值的参考和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值