动态规划练习(1)--编程题 风口的猪-中国牛市

动态规划学习参考:

教你彻底学会动态规划——入门篇

https://blog.csdn.net/baidu_28312631/article/details/47418773

编程题 风口的猪-中国牛市

风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<=100,0<=prices[i]<=100

输入例子1:
3,8,5,1,7,8
输出例子1:
12

思路:
正序遍历得到第k天之前可以获得的最大收益,后序遍历得到第k天后面可以获得的最大收益。

状态转移方程:

pmax[i] = max( pmax[i-1], arr[i] - premin )    //k天前最大收益

pmax[i] = max ( pmax[i+1], premax - arr[i] )   //k天后最大收益

class Solution {
public:/*** 计算你能获得的最大收益* * @param prices Prices[i]即第i天的股价* @return 整型*/int calculateMax(vector<int> prices) {int n=prices.size();int premin=prices[0];vector<int> leftmax(n);leftmax[0]=0;for(int i=1;i<n;i++){premin=min(premin,prices[i]);leftmax[i]=max(leftmax[i-1],prices[i]-premin);}int lastmax=prices[n-1];vector<int> rightmax(n);rightmax[n-1]=0;for(int i=n-2;i>=0;i--){lastmax=max(lastmax,prices[i]);rightmax[i]=max(rightmax[i+1],lastmax-prices[i]);}int pmax=0;for(int i=0;i<n;i++){pmax=max(pmax,leftmax[i]+rightmax[i]);}return pmax;}
};

动态规划练习(1)--[编程题] 风口的猪-中国牛市相关推荐

  1. 小米实习生笔试题风口的猪-中国牛市Java代码

    本文地址:http://blog.csdn.net/shanglianlm/article/details/77839691 题目描述 风口之下,猪都能飞.当今中国股市牛市,真可谓"错过等七 ...

  2. 股票交易日(动态规划)----美团2016研发工程师编程题(二)

    [编程题] 股票交易日 在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行).给出一天中的股票变化序列,请写一个程序计算 ...

  3. 京东2015实习生笔试编程题

    小米Git git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<–base<–A<–A' ^ | - B<–B' 小米工程师常常需要寻找两 ...

  4. MIT微软为AI量身打造了一套leetcode编程题

    丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 你见过这种编程题目描述方式吗? 不用自然语言描述,也没有输入输出示例,你所看到的就只有一个Python函数. 这是来自MIT.Allen A ...

  5. python算法预测风险等级_一般算法水平到底什么样子才能秒杀Bat的笔试编程题?...

    很简单,打开 LintCode 随便找一道中等难度的题,如果能很快找到思路并提交代码通过,那么BAT公司的笔试编程题基本没什么问题了.(唯一需要注意的是国内公司笔试题目一般都很长,比较考验阅读理解能力 ...

  6. Java动物类enjoy方法打印,面向对象编程题汇总

    在授课面向对象这一章节的时候,发现找一些比较贴近的编程题还是比较难的,从网上整理了一下,希望对需要的朋友有帮助.很多是从网上找的,如果侵犯版权请联系我! 一.类和对象 1.定义一个类Demo,其中定义 ...

  7. 网易笔试编程题java_2017年网易校招笔试JAVA研发编程题

    为什么80%的码农都做不了架构师?>>> 尝试挑战了下网易2017校招的笔试编程题,共三题,AC第一题,第二题思考了很久勉强用一种low逼的方式完成,第三题没有完成,希望路过的ACM ...

  8. 中科院C语言应聘机试编程题6,中科院计算所保研笔试+机试+面试经验分享

    计算所JDL(先进人机交互)实验室 9月10号开始联系计算所导师,12号收到导师的回复,大致意思是老师让我提供三位本校推荐老师的联系方式,又问了是否有读博的打算,让我准备到计算所JDL面试,16号收到 ...

  9. 美团点评2017秋招笔试编程题

    美团点评2017秋招笔试编程题 1, 大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步.求玩家走到第n步(n<=骰子最大点数且是 ...

  10. 麻省理工、微软为AI量身打造了一套leetcode编程题

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 你见 ...

最新文章

  1. LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)
  2. Nova 的高性能虚拟机支撑
  3. font awesome java_Android使用Font Awesome显示小图标(一)
  4. python爬虫企业级技术点_Python爬虫必备技术点(二)
  5. spring中加入log4j
  6. angular中父组件给子组件传值-@input
  7. python 实数如何取整_从面试官角度提问:15道硬核Python面试题,论面霸是如何炼成的...
  8. hdu4609 3-idiots
  9. java message_Java Message System简介
  10. php 大型系统开法流程图,有一个php项目源码,如何搞清楚执行过程?画出其流程图...
  11. Spring Data JPA 从入门到精通~JpaSpecificationExecutor示例
  12. Win10重装后电脑关不了机如何解决
  13. tomcat web服务器优化
  14. java水电费收费系统_基于jsp的电费管理系统-JavaEE实现电费管理系统 - java项目源码...
  15. 索尼播放器Android系统,获得最新固件的索尼NW-ZX505,简直脱胎换骨!
  16. layer修改弹框标题样式
  17. java测试用例生成器_软件测试之用TestDirector生成测试用例完整版.doc
  18. 中小型企业应该选择什么样的OA系统?
  19. 甘特图控件VARCHART XGantt,解读活动组布局的“单独行中的节点”选项!
  20. 5G手机网优测试软件,5G测速WiFi测量仪

热门文章

  1. 监控系统服务器时间怎么更改,监控系统服务器改时间
  2. usb鼠标驱动注解及获取鼠标坐标
  3. IIS本地FTP服务器搭建
  4. 软件工程之美学习笔记二十五 24 | 技术债务:是继续修修补补凑合着用,还是推翻重来?
  5. win10本次操作由于计算机的限制而取消,手把手修复win10系统本次操作由于计算机限制而被取消的办法...
  6. 图片特效展示(鼠标移入移除特效)
  7. 蓝天学校计算机教学反思,小学四年级上册《飞向蓝天的恐龙》教学反思
  8. 手机APP开发之MIT Appinventor详细实战教程(四),对数据库的思考以及对网络数据库的整理与研究
  9. [原创]分期还款的名义利率与真实利率
  10. REST Assured 系列汇总