This commit is contained in:
2026-07-23 16:56:50 +08:00
parent 124ad9afdf
commit 92784ffb0f
36 changed files with 2015 additions and 608 deletions
+48
View File
@@ -0,0 +1,48 @@
package top100liked
import (
"testing"
)
// https://leetcode.cn/problems/house-robber/?envType=study-plan-v2&envId=top-100-liked
// 198. 打家劫舍
//
// 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
// 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。
// 示例 1
// 输入:[1,2,3,1]
// 输出:4
// 解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。
// 偷窃到的最高金额 = 1 + 3 = 4 。
// 示例 2
// 输入:[2,7,9,3,1]
// 输出:12
// 解释:偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。
// 偷窃到的最高金额 = 2 + 9 + 1 = 12 。
//
// 提示:
// - `1 <= nums.length <= 100`
// - `0 <= nums[i] <= 400`
//
func rob(nums []int) int {
}
func TestRob(t *testing.T) {
cases := []struct {
name string
nums []int
want int
}{
{"example1", []int{1, 2, 3, 1}, 4},
{"example2", []int{2, 7, 9, 3, 1}, 12},
}
for _, c := range cases {
t.Run(c.name, func(t *testing.T) {
got := rob(c.nums)
if got != c.want {
t.Errorf("got %v, want %v", got, c.want)
}
})
}
}