House Robber
来源:互联网 发布:淘宝达人的短视频教程 编辑:程序博客网 时间:2024/06/08 09:09
DP
对于第
递推公式为:
f(i) 为动态规划表(DP表)(状态i 下的最优解)
val 为每间房子里的钱(val表)
rob 为记录是否已经偷过,0表示没偷过,1表示偷了(is_robbed表)。
有了递推公式代码就很好写了
class Solution: # @param {integer[]} nums # @return {integer} def rob(self, nums): val=[0]+nums DP=[0]*(len(nums)+1) is_robbed=[0]*(len(nums)+1) for i in range(1,len(val)): if is_robbed[i-1]==0: f_rob=DP[i-1]+val[i] else: f_rob=DP[i-2]+val[i] f_no_rob=DP[i-1] if f_rob>f_no_rob: DP[i]=f_rob is_robbed[i]=1 else: DP[i]=f_no_rob is_robbed[i]=0 return DP[len(nums)]
0 0
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- House Robber
- 简单的java加密算法
- [LeetCode][Java] Remove Nth Node From End of List
- 修改界面顶部状态栏的颜色
- Powershell 操作SQL Server
- mianshi_experience
- House Robber
- 【华为oj】密码验证合格程序
- 蓝桥杯嵌入式参赛笔记(基于stm32竞赛板)
- MFC win7/xp界面风格
- 最全的c++map的用法
- MFC单文档设定窗口大小固定
- 字符流与字节流的区别
- Begin my fist blog in CSDN
- Powershell 通过POP3接收邮件