首页 > 其他分享 >188. 买卖股票的最佳时机 IV

188. 买卖股票的最佳时机 IV

时间:2023-06-01 17:03:32浏览次数:24  
标签:vector int len IV 最佳时机 prices 188

给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格,和一个整型 k 。

设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。


输入:k = 2, prices = [2,4,1]
输出:2
解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2 。

> 动态规划


class Solution {
public:
    int maxProfit(int k, vector<int>& prices) {
        int len = prices.size();
        if(len == 1) return 0;
        vector<int> buy(k+1,INT_MAX);
        vector<int> sell(k+1,0);
        for(const auto &p:prices){
            for(int i = 1;i <= k;i++){
                buy[i] = min(buy[i],p - sell[i-1]);
                sell[i] = max(sell[i],p - buy[i]);
            }
        }
        return sell[k];
    }
};

标签:vector,int,len,IV,最佳时机,prices,188
From: https://www.cnblogs.com/lihaoxiang/p/17449561.html

相关文章

  • hive - beeline命令行可以使用的命令
       beeline>!help!allExecutethespecifiedSQLagainstallthecurrentconnections!autocommitSetautocommitmodeonoroff!batchStartorexecuteabatchofstatements!briefSetverbosemodeoff......
  • 【macOS】iCloud Drive同步异常解决方案(上传/下载时进度条卡住)
    ✨iCloudDrive同步异常如下图上传进度条一直卡着不动✨解决方案Terminal运行如下命令killallbirdcd~/Library/Application\Supportsudocp-rCloudDocs~/Desktop/#备份sudorm-rf~/Library/Application\Support/CloudDocs之后iCloudDrive同步飞快桌面......
  • sparkSQL原理和使用——一般在生产中,基本都是使用hive做数据仓库存储数据,然后用spark
    一、sparkSQL概述1.1什么是sparkSQLSparkSQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。类似于hive的作用。1.2sparkSQL的特点1、容易集成:安装Spark的时候,已经集成好了。不需要单独安装。2、统一的数据访问方......
  • Kubernetes(k8s)健康性检查:livenessprobe探测和readinessprobe探测
    目录一.系统环境二.前言三.Kubernetes健康性检查简介四.创建没有探测机制的pod五.添加livenessprobe探测5.1使用command的方式进行livenessprobe探测5.2使用httpGet的方式进行livenessprobe探测5.3使用tcpSocket的方式进行livenessprobe探测六.readinessprobe探测七.总结一.系......
  • Hive扩展内容
    一个SQL语句的分析SELECTa.Key,SUM(a.Cnt)ASCntFROM(SELECTKey,COUNT(*)ASCntFROMTableNameGROUPBYKey,CASEWHENKey='KEY001'THENHash(Random())%50ELSE0END)aGROUPBYa.Key;这个SQL其实是一个解决数据倾......
  • Hive高级函数实战
    函数的基本操作和mysql一样的,hive也是一个主要做统计的工具,所以为了满足各种各样的统计需要,它也内置了相当多的函数showfunctions;#查看所有内置函数descfunctionfunctionName;#查看指定函数的描述信息descfunctionextendedfunctionName;#显示函数的扩展内容Hiv......
  • 【博学谷学习记录】超强总结,用心分享 | hive分区与分桶的区别
    【博学谷IT技术支持】公众号:积雷山摩云洞,欢迎关注!!!概念分区表:将数据分散到多个子目录中,在执行查询是,可以根据条件加快查询效率分桶表:是相对分区更细的颗粒度划分,分桶表是将表查分到不同的文件中,根据数据表某列的hash值进行分区,对某列数据分区就是对该列属性值的hash值取模,......
  • activeMQ Jms Demo
    概述ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMSProvider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位详细一、什么是ActiveMQ百度解释:ActiveMQ是A......
  • 「解题报告」CF1152F2 Neko Rules the Catniverse (Large Version)
    发现有互不相等的限制,那就考虑一下连续段DP。每次从小到大考虑每个数是否填,填的话填到哪里即可。容易发现题目中的限制相当于要求每一个连续段的右边填的数不能与它差出\(m\),且容易发现每个段的差的要求一定不相等,那么我们可以直接\(2^m\)状压记录每个连续段的差值要求。然后......
  • activemq安装教程
    https://activemq.apache.org/ 官网下载对应版本:apache-activemq-5.16.3-bin.tar.gztar-xvzfapache-activemq-5.16.3-bin.tar.gzmvapache-activemq-5.16.3/usr/localcdconf/vimactivemq.xml在broker标签上添加schedulerSupport="true"属性。如下:<brokerxmlns="h......