当前位置: 首页 > news >正文

一个空间可以做多个网站吗餐饮管理系统下载

一个空间可以做多个网站吗,餐饮管理系统下载,网站建设综合报告,wordpress 升级 xampp 无法定义根目录买卖股票最佳时机 I II 不限制交易次数 prices [7,1,5,3,6,4] 启发思路:最后一天发生了什么? 从第0天到第5天结束时的利润 从第0天到第4天结束时的利润 第5天的利润 (第5天的利润:0/-4/4) 关键词:天…

买卖股票最佳时机

I

II 不限制交易次数

prices = [7,1,5,3,6,4]

启发思路:最后一天发生了什么?
从第0天到第5天结束时的利润 = 从第0天到第4天结束时的利润 + 第5天的利润
(第5天的利润:0/-4/4)

关键词:天数 / 是否持有股票
分解子问题:到第i天结束,持有/未持有股票的最大利润
下一子问题:到第i-1天结束时,持有/未持有股票的最大利润

状态转移图

买入
卖出
未持有
持有

定义dfs(i, 0)表示到第i天结束,未持有股票的最大利润
定义dfs(i, 1)表示到第i天结束,持有股票的最大利润

由于第i-1天的结束就是第i天的开始,dfs(i-1, .)也表示到第i天开始时的最大利润

状态转移图中:
卖出:dfs(i, 0) = dfs(i - 1, 1) + prices[i]
买入:dfs(i, 1) = dfs(i - 1, 0) - prices[i]
未持有状态下无动作:dfs(i, 0) = dfs(i - 1, 0)
持有状态下无动作:dfs(i, 1) = dfs(i - 1, 1)

汇总公式:
dfs(i, 0) = max(dfs(i - 1, 0), dfs(i - 1, 1) + prices[i])
dfs(i, 1) = max(dfs(i - 1, 1), dfs(i - 1, 0) - prices[i])

递归边界:
dfs(-1, 0) = 0 // 第0天开始未持有股票,利润为0
dfs(-1, 1) = INT_MIN // 第0天开始不可能持有股票

递归入口:
max(dfs(n - 1, 0), dfs(n - 1, 1)) = dfs(n - 1, 0)

思路:

class Solution {
public:// 优化方向:改为cacheint dfs(int i, bool hold, const std::vector<int> &prices) {// 边界if (i < 0) {return hold ? INT_MIN : 0;}if (hold) {return max(dfs(i - 1, true, prices), dfs(i - 1, false, prices) - prices[i]);}return max(dfs(i - 1, false, prices), dfs(i - 1, true, prices) + prices[i]);}int maxProfit(std::vector<int> prices) {int n = prices.size();return dfs(n - 1, false, prices);}
};

实际代码

class Solution {
public:int maxProfit(std::vector<int> prices) {int n = prices.size();vector<std::pair<int, int>> res(n + 1);res[0].second = INT_MIN;for (auto i = 0; i < n; ++i) {res[i + 1].first = max(res[i].first, res[i].second + prices[i]);res[i + 1].second = max(res[i].second, res[i].first - prices[i]);}return res[n].first;}
};// 演进
class Solution {
public:int maxProfit(std::vector<int> prices) {int n = prices.size();int f0{};int f1{INT_MIN};for (auto i = 0; i < n; ++i) {int new_f0 = max(f0, f1 + prices[i]);f1 = max(f1, f0 - prices[i]);f0 = new_f0;}return f0;}
};

III 冷冻期 309

class Solution {
public:int maxProfit(std::vector<int> prices) {int n = prices.size();int f0{-prices.front()};int f1{};int f2{};for (auto i = 1; i < n; ++i) {int new_f0 = max(f0, f2 - prices[i]);int new_f1 = f0 + prices[i];int new_f2 = max(f1, f2);f0 = new_f0;f1 = new_f1;f2 = new_f2;}return max(f1, f2);}
};

IV 最多K次 188

http://www.yayakq.cn/news/548337/

相关文章:

  • 网站 成功案例长沙好的设计公司
  • seo的形式有哪些专业搜索引擎优化电话
  • 南京江宁区住房建设局网站一站式服务大厅官网
  • 东铁匠营网站建设公司百度认证怎么认证
  • 品牌网站建设推广wordpress底部通知
  • 商城网站建设方案流程网站维护内容和方法
  • 网站建设的基础常识杭州市建设工程招标网
  • 免费开源cms网站源码萍乡网站建设哪家公司好
  • 免费网站建设专业的公司cms适合做什么网站
  • 怎么在百度建设一个网站简述网络营销服务的特点
  • 孝感网站建设简单的网站开发流程
  • 浙江省建设厅执业资格注册中心网站动漫网站开发
  • 网站开发技术期中试题公司网站访问非法网站的作用
  • 河南省和建设厅网站首页logo设计理念怎么写
  • 重庆建设银行网站首页网站500错误 虚拟主机
  • 网站设计公司市场容量怎么建设自己收费网站
  • 深圳做营销网站公司哪家好wordpress 发布商品
  • 公司网站制作可以使用开源系统吗宁波网站建设地址
  • 用asp做的网站有哪些河源市住房和城乡规划建设局网站
  • 建设网站的合同东莞市网站建设制作设计平台
  • 广州外贸网站开发wordpress主题查看
  • 做网站一个月需要多少钱公司网站模板侵权案例
  • 外语网站开发网站建设和客户面谈
  • 个人网站开发教程西安seo优化培训
  • 青岛微网站制作做网站赚钱
  • 吉林网站优化合肥网站建设q479185700惠
  • 建站系统主要包括最新软件发布平台
  • 邀请码网站怎么做帝国cms做淘宝客网站
  • 机械厂网站建设方案网站在线演示
  • 新乡网站建设制作硬件开发属于什么行业