1、线性DP 213. 打家劫舍 II
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:54
//rob 0, not rob n-1 || not rob 0,not rob n-1 ==>rob(0,nums.length-2,nums)
//not rob 0,rob n-1 || not rob 0,not rob n-1;==>rob(1, nums.length-1, nums)
func rob(nums []int) int {
n := len(nums)
if n == 0{
return 0
}
if n == 1{
return nums[0]
}
return MAX(help(nums,0,n-1),help(nums,1,n))
} //由题意抢了第一家则不能抢最后一家;抢了最后一家就不能抢第一家。
//抢了第一家的最大值就是在nums[:n-1)中抢的,抢了最后一家的最大值,就是在nums[1:]抢的
func help(nums []int,begin,end int) int{
curMax,preMax := 0,0
for i:=begin;i<end;i++{
tmp := curMax
curMax = MAX(curMax,preMax+nums[i])
preMax = tmp
}
return curMax
} func MAX(i,j int) int{
if i<j{
return j
}else{
return i
}
}
相关文章
-
1. 《progress》 进度条
1. 《progress》 进度条
- 互联网
- 2026年04月04日
-
1. Redis分布式锁原理
1. Redis分布式锁原理
- 互联网
- 2026年04月04日
-
1. 标题栏的最大化、最小化、关闭按钮图标
1. 标题栏的最大化、最小化、关闭按钮图标
- 互联网
- 2026年04月04日
-
1、mapreduce编程模型和mapreduce模型实现程序之间的关系
1、mapreduce编程模型和mapreduce模型实现程序之间的关系
- 互联网
- 2026年04月04日
-
1 时间戳 2 C# 如何生成一个时间戳 3 js 时间加一分钟... 4 js string
1 时间戳 2 C# 如何生成一个时间戳 3 js 时间加一分钟... 4 js string
- 互联网
- 2026年04月04日
-
1 如何使用pb文件保存和恢复模型进行迁移学习(学习Tensorflow 实战google深度学习框架)
1 如何使用pb文件保存和恢复模型进行迁移学习(学习Tensorflow 实战google深度学习框架)
- 互联网
- 2026年04月04日






