算法笔记--Dp动态规划

本文介绍了如何使用动态规划方法解决股票交易的最佳时机问题和找到连续子数组的最大和。对于股票交易问题,策略是记录最低买入价格,并在后续天数中计算每天的收益。对于连续子数组最大和,分析了三种情况并提出了相应的动态规划方程f(i)=max{f(i−1)+nums[i],nums[i]}。" 115894796,10535506,MATLAB定时器用法详解,"['MATLAB', '定时器', '编程']
摘要由CSDN通过智能技术生成

题目描述

    买卖股票最佳时机

    想象我们平时买股票,肯定希望是在最低点买入,最高点卖出的,那么我们就可以遍历一下数组,要先记录最地位,也就是股票最低的时候你需要买入~那么什么时候卖出呢?我们假设一共有n天,第一天位最低为,那么你就要分别记录每天卖出的价格,然后去除最大的利润~最低买入价格位min,那么以后每天的价格就是n[price]-min的价格,分别记录他们~~我们首先设一个最小值。和一个最大值~

int maxProfit(vector<int>& prices) {
        int inf = 1e9;
        //先设置一个最小买入的值,开始设置大一些,因为我们希望
        //以后每次买入的价格都比这个值小~利润是每次都比原来的利润大~
        int minprice = inf, maxprofit = 0;
        //
        for (int price: prices) {
          //最大利润即为每天的价格减去最开始设定的价格~
            maxprofit = max(maxprofit, price - minprice);
     
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值