打家劫舍 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