IT评测·应用市场-qidao123.com
标题:
力扣算法题:打家劫舍 -- 多语言实现
[打印本页]
作者:
缠丝猫
时间:
2024-6-20 16:59
标题:
力扣算法题:打家劫舍 -- 多语言实现
这题目应该是翻译有题目或者我的理解有题目。。。按照题目给的不相邻的盗取逻辑运行正确,但是提交报错,如果使用全部进入但是拿最多钱的逻辑却正确了。。。
好家伙,挨家挨户走一遍不久触发报警了么?咋还正确了?
"如果两间相邻的房屋在同一晚上被小偷闯入,体系会自动报警。"这句话翻译明显有题目,应该是被小偷偷窃才会报警。
func rob(nums []int) int {
if len(nums) == 0 {
return 0
}
if len(nums) == 1 {
return nums[0]
}
pre2 := nums[0]
pre1 := max(nums[0], nums[1])
for i := 2; i < len(nums); i++ {
cur := max(pre1, pre2 + nums[i])
pre2 = pre1
pre1 = cur
}
return pre1
}
复制代码
javascript:
/**
* @param {number[]} nums
* @return {number}
*/
var rob = function(nums) {
if (nums.length === 0) {
return 0;
}
if (nums.length === 1) {
return nums[0];
}
let maxMoney = nums[0];
let pre = Math.max(nums[0], nums[1]);
for(let i=2; i < nums.length; i++) {
let cur = Math.max(pre, maxMoney + nums[i])
maxMoney = pre
pre = cur
}
return pre
};
复制代码
python:
class Solution(object):
def rob(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if len(nums) == 0:
return 0
if len(nums) == 1:
return nums[0]
maxMoney = nums[0]
pre = max(maxMoney, nums[1])
for i in range(2, len(nums)):
cur = max(pre, maxMoney + nums[i])
maxMoney = pre
pre = cur
return pre
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4