打家劫舍

每日一练社区 2022-01-20 17:16:22

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警

给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

 

示例 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
...全文
664 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Geek__1992 01-08
  • 打赏
  • 举报
回复

提示:当碰到偶数数nums.length时中间碰到两个穷鬼可以跳过2家,可能会有不一样的收货。eg. [2 1 2 3]

  • 举报
回复
@Geek__1992 如果是 [2,1,3,7,4,9,1] 该何解
  • 举报
回复
@~笨蛋陪你哭 另外,你是小偷,闯进去之前是无法得知里面的金额的,可又怎么知道是不是穷鬼
Geek__1992 01-14
  • 举报
回复
@~笨蛋陪你哭 要这么理解的话,也对,但是没偷到最大金额也是对的。看运气咯
蓝莓Bell 2024-12-17
  • 打赏
  • 举报
回复 1
byd整辣么多差点看错
静&安 2023-04-12
  • 打赏
  • 举报
回复

public static void dajiajieshe(int[] a){
int max = 0;
int res = 0;
for(int b = 0; b<2;b++){
for (int i = b; i < a.length; i++) {
res += a[i];
i++;
}
if(res > max){
max = res;
res = 0;
}
}
System.out.println(max);

}
Geek__1992 01-08
  • 举报
回复
@静&安 提示:当碰到偶数数nums.length时中间碰到两个穷鬼可以跳过2家,可能会有不一样的收货。eg. [2 1 2 3]
2201_75604757 2023-04-12
  • 打赏
  • 举报
回复 1
哪位帅哥美女内给个注释

11,805

社区成员

发帖
与我相关
我的任务
社区描述
Study well and make progress every day
其他 企业社区
社区管理员
  • 每日一练社区
  • CSDN学习
  • 幻灰龙
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧