首页 > 其他分享 >(48/60)买卖股票的最佳时机、买卖股票的最佳时机Ⅱ

(48/60)买卖股票的最佳时机、买卖股票的最佳时机Ⅱ

时间:2024-03-21 23:56:00浏览次数:28  
标签:vector 买卖 max 60 最佳时机 prices dp size

day48

买卖股票的最佳时机

leetcode:121. 买卖股票的最佳时机

动态规划

代码实现

/*
意义:dp[i][0]下标为i天持有股票的最大收益;dp[i][1]下标为i天不持股的最大收益
递推:
之前买入、当天买入:dp[i][0] = max(dp[i-1][0],-prices[i]);
之前卖出、当天卖出:dp[i][1] = max(dp[i-1][1],dp[i-1][0] + prices[i]);
初始化:
dp[0][0] = -prices[0];
d[[0][1] = 0;
其余为0
遍历:ltr
*/
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        vector<vector<int>> dp(prices.size(),vector<int>(2,0));
        dp[0][0] = -prices[0];
        for(int i = 1;i < prices.size();i++){
            dp[i][0] = max(dp[i-1][0],-prices[i]);
            dp[i][1] = max(dp[i-1][1],dp[i-1][0] + prices[i]);
        }

        return max(dp[prices.size()-1][0] , dp[prices.size()-1][1]);
    }
};

买卖股票的最佳时机Ⅱ

leetcode:122. 买卖股票的最佳时机 II

动态规划

思路

区别在于可以重复买入、售出。

售出是一样的,区别在于购入时。由于可以重复购入,每次递推要带上之前的收益。

代码实现

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        vector<vector<int>> dp(prices.size(),vector<int>(2,0));
        dp[0][0] = -prices[0];
        for(int i = 1;i < prices.size();i++){
            dp[i][0] = max(dp[i-1][0],dp[i-1][1] - prices[i]);
            dp[i][1] = max(dp[i-1][1],dp[i-1][0] + prices[i]);
        }

        return max(dp[prices.size() - 1][0],dp[prices.size()-1][1]);
    }
};

标签:vector,买卖,max,60,最佳时机,prices,dp,size
From: https://www.cnblogs.com/tazdingo/p/18088509

相关文章

  • (47/60)打家劫舍、打家劫舍Ⅱ、打家劫舍Ⅲ
    day47打家劫舍leetcode:198.打家劫舍动态规划代码实现/*偷到下标为i的最大金额数为dp[i]偷i、不偷i:dp[i]=max(dp[i-2]+nums[i],dp[i-1]);dp[0]=nums[0];dp[1]=max(nums[0],nums[1]);正序遍历*/classSolution{public:introb(vector<int>&nums){......
  • 科技赋能生活:KTH1601让垃圾桶“懂”你的需求
    在现代社会,科技的快速发展不仅仅改变了我们的生活方式,甚至连日常生活中的垃圾桶也变得“智能”起来。高性能、低功耗霍尔开关传感器KTH1601,正是让智能垃圾桶能够自动感应、自动开关的关键所在。它是由昆泰芯微电子科技有限公司研发的一款全极磁场检测传感器,具备非常低的功耗......
  • MT2492 16V输入 600KHz 2A DCDC同步降压转换器 航天民芯一级代理
    深圳市润泽芯电子有限公司为航天民芯一级代理描述  MT2492是一款完全集成的高效率产品2A同步整流降压变换器。MT2492在一段时间内高效运行宽输出电流负载范围。该设备提供两种工作模式,即PWM控制和PFM模式切换控制在更宽的工作范围内实现高效率加载。MT2492需要最少数量的......
  • 汽车用GMR角度传感器,TLE5014P16DXUMA1、TLE5014S16DXUMA1、TLE5014SP16DE0002XUMA1(360
    TLE5014GMR角度传感器有以下型号可供选择:TLE5014C16:汽车用GMR角度传感器,带SPC接口TLE5014P16:汽车用GMR角度传感器,带PWM接口TLE5014S16:汽车用GMR角度传感器,带SENT接口概述TLE5014基于巨磁阻(GMR)的角度传感器侧重于转向角传感器,设计用于汽车应用的角度位置检测。这些传感......
  • P1960 郁闷的记者
    原题链接题解拓扑排序,层级标记,如果层级等于n,代表层次分明code#include<bits/stdc++.h>usingnamespacestd;vector<int>G[500005];intin[500005]={0};structnode{intid,layer;};intmain(){intn,m;cin>>n>>m;for(inti=1;i<=m;i++)......
  • 分享600套常用的手机网站模板,总有一款适合你
    600套手机网站模板分享:总有一款适合你!演示效果及下载地址:https://www.erdangjiade.com/templates/0-0-108-0-0-01、你先注册好一个帐号,然后私聊找我,我帮你充好积分,2、整站资源就可以直接下载了3、如果有一天,你成为技术大神,你会不会想起,那个曾经指点过你的朋友手机网站已......
  • 考研数学|跟张宇,如何用好《1000题》和《660题》?
    在基础阶段跟随张宇老师的课程学习后,进入强化阶段,究竟是先做1000题还是先做660题?其实没有绝对的答案,因为最佳的选择取决于你自身的掌握程度和学习进度。以下是一些建议,帮助你做出决定。首先,你需要对自己的数学基础进行一个客观的评估。如果你觉得自己的基础已经相当扎实,可以直......
  • 060_深度学习
    目录神经网络深度学习各层负责内容神经网络深度学习各层负责内容......
  • 蓝桥杯 2013 国 AC 网络寻路 第四届国赛 洛谷P8605
    [蓝桥杯2013国AC]网络寻路题目描述XXX国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径。源地址和目标地......
  • 系统盘扩容01-安装统信UOS桌面操作系统1060启用系统扩容
    原文链接:系统盘扩容01-安装统信UOS桌面操作系统1060启用系统扩容Hello,大家好啊!今天,我非常高兴地为大家开启一个新的系列文章——在统信UOS上扩容系统盘。随着我们对电脑的日常使用,系统盘的空间往往会逐渐变得不够用,特别是在安装了大量软件或数据积累后。为了改善这一状况,扩......