Best Time to Buy and Sell Stock

原创 2016年05月31日 10:18:53

这是求最大子数组的问题,编码不难,有穷举、分治、动态规划三种方法。引起我兴趣的是分治的子问题划分和动态规划的最优子结构的证明。


分治:

从数组的中间分开,最大子数组出现的三种情况:

1、在左半部分

2、在右半部分

3、跨越中点(求跨越中点的子数组等价于求从中间元素开始往左累加的最大值 + 从中间元素开始往右累加的最大值


动态规划:

对于所有数组元素进行划分,如果加上该元素之前temp>0且temp+a[i]<0,那么该元素a[i]是一个边界,这样,数组会形成好多段,每段结束元素都满足temp>0且temp+a[i]<0.所以我们能得到多个划分块a[p..q],每个划分快的和是负值,划分块有这样的性质,对任意p<=i<q,显然,sum(a[p..i])>=0且sum(a[i..q])<0;根据划分块性质,容易证明,只要子数组横跨多个划分快,其求和值必定小于某个单独的划 分快中的数组求和

【LeetCode-面试算法经典-Java实现】【121-Best Time to Buy and Sell Stock(最佳买卖股票的时间)】

【121-Best Time to Buy and Sell Stock(最佳买卖股票的时间)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Say you have a...

Leetcode 121. Best Time to Buy and Sell Stock

噢?一脸黑人问号,这道题目怎么会比之前那题通过率更低?刷完才发现,好像解题方式完全不同,题目的含义大相径庭。题目Say you have an array for which the ith elem...

leetcode 188---Best Time to Buy and Sell Stock IV

问题描述:Say you have an array for which the ith element is the price of a given stock on day i. 给你一个数组...
  • will130
  • will130
  • 2015年05月29日 13:36
  • 265

LeetCode(123) Best Time to Buy and Sell Stock III (Java)

题目如下: Say you have an array for which the ith element is the price of a given stock on day i. Desig...

leetcode -- Best Time to Buy and Sell Stock III --重点

https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/参考: http://www.cnblogs.com/zuoyua...
  • xyqzki
  • xyqzki
  • 2015年12月10日 22:59
  • 246

[leetcode]Best Time to Buy and Sell Stock I&II

public int maxProfit(int[] prices) { int len=prices.length; if(len==2) r...

LeetCode122. Best Time to Buy and Sell Stock II题解

今天讨论一道让我想的过于复杂的题目:一道有关股票买卖的问题。题目描述:Say you have an array for which the i th element is the price of ...
  • lby0910
  • lby0910
  • 2017年04月06日 16:18
  • 301

Best Time to Buy and Sell Stock 系列问题(leetcode)

关键词: 动态规划,分治121. Best Time to Buy and Sell Stock题目地址 https://leetcode.com/problems/best-time-to-bu...

[121] Best Time to Buy and Sell Stock

给定一个数组,数组里的值为每天产品的价格,你可以进行一次贸易,即一买一卖,如何从这一次贸易中获得最大的利润?...
  • camlot_
  • camlot_
  • 2016年07月21日 11:29
  • 204

LeetCode--Best Time to Buy and Sell Stock IV(DP + 滚动数组)

题目:https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Best Time to Buy and Sell Stock
举报原因:
原因补充:

(最多只允许输入30个字)