打家劫舍 II

打家劫舍 II

时间限制:1 S

内存限制:64 MB

【题目描述】

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的放到系统,如果两件相邻的房屋同一晚上被小偷闯入,系统会自动报警。

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

【输入格式】

第一行输入整数 \(n\) (\(1 ≤ n ≤ 100\)) 。

第二行输入 \(n\) 个非负整数(\(0 ≤\) 输入整数 \(≤ 1000\))。

【输出格式】

输出在不触动警报装置的情况下,你一个晚上能够偷窃到的最高金额。

样例 1

【样例 1 输入】

3
2 3 2

【样例 1 输出】

3

【样例 1 解释】

你不能先偷窃 \(1\) 号房屋(金额 \(= 2\)),然后偷窃 \(3\) 号房屋(金额 \(= 2\)),因为它们是相邻的。

样例 2

【样例 2 输入】

4
1 2 3 1

【样例 2 输出】

4

【样例 2 解释】

你可以先偷窃 \(1\) 号房屋(金额 \(= 1\)),然后偷窃 \(3\) 号房屋(金额 \(= 3\))。

偷窃的最高金额 \(= 1 + 3 = 4\) 。

样例 3

【样例 3 输入】

1
0

【样例 3 输出】

0

信息

ID
1024
难度
3
分类
环形DP 点击显示
标签
(无)
递交数
1
已通过
1
通过率
100%
上传者