Dynamic Programming 2

来源:互联网 发布:php项目经验描述 编辑:程序博客网 时间:2024/06/08 04:43

53. Maximum Subarray: 求最大和子序列:maxendinghere,maximum

152. Maximum Product Subarray:求最大积子序列:maxendinghere分为max和min,有正负

121. Best Time to Buy and Sell Stock:给出股票价格,只售卖一次,计算最大利润。求序列中两个数的最大差值,求当前价格和最低价格的差值。

122. Best Time to Buy and Sell Stock II:可以多次交易,只要盈利就可以卖出。

309. Best Time to Buy and Sell Stock with Cooldown:卖出股票后隔一天才可以买股票。状态变化较为复杂的画出状态转换图。

198. House Robber: 对于某个房间是否进行rob,考虑上个房间被rob此房间不被rob,上个房间不被rob此房间被rob的最大值。

213. House Robber II:将房屋连成一个圈,考虑连接元素是否被rob,分为两种情况。

337. House Robber III:分类讨论,当前root是否被rob,利用hashmap存放某root子树maxprofit

70. Climbing Stairs:每次爬1或者2阶楼梯,多少种爬楼方式。分类讨论。

486. Predict the Winner:区间,取两端的数,最后取得数和最大,看player1能否成功。分类讨论,取左边还是取右边。

279. Perfect Squares:将数字写为完全平方数的和,从小到大依次算。

357. Count Numbers with Unique Digits:找到规律,从小到大依次计算。

91. Decode Ways:英文字母从A到Z用数字编码。分类讨论,1位或者2位。简便方法是用substring再用parseint


0 0