IT评测·应用市场-qidao123.com

标题: 力扣算法题:打家劫舍 -- 多语言实现 [打印本页]

作者: 缠丝猫    时间: 2024-6-20 16:59
标题: 力扣算法题:打家劫舍 -- 多语言实现
这题目应该是翻译有题目或者我的理解有题目。。。按照题目给的不相邻的盗取逻辑运行正确,但是提交报错,如果使用全部进入但是拿最多钱的逻辑却正确了。。。
好家伙,挨家挨户走一遍不久触发报警了么?咋还正确了?
"如果两间相邻的房屋在同一晚上被小偷闯入,体系会自动报警。"这句话翻译明显有题目,应该是被小偷偷窃才会报警。
  1. func rob(nums []int) int {
  2.     if len(nums) == 0 {
  3.                 return 0
  4.         }
  5.         if len(nums) == 1 {
  6.                 return nums[0]
  7.         }
  8.         pre2 := nums[0]
  9.         pre1 := max(nums[0], nums[1])
  10.         for i := 2; i < len(nums); i++ {
  11.                 cur := max(pre1, pre2 + nums[i])
  12.                 pre2 = pre1
  13.                 pre1 = cur
  14.         }
  15.         return pre1
  16. }
复制代码
javascript:
  1. /**
  2. * @param {number[]} nums
  3. * @return {number}
  4. */
  5. var rob = function(nums) {
  6.     if (nums.length === 0) {
  7.         return 0;
  8.     }
  9.     if (nums.length === 1) {
  10.         return nums[0];
  11.     }
  12.     let maxMoney = nums[0];
  13.     let pre = Math.max(nums[0], nums[1]);
  14.     for(let i=2; i < nums.length; i++) {
  15.         let cur = Math.max(pre, maxMoney + nums[i])
  16.         maxMoney = pre
  17.         pre = cur
  18.     }
  19.     return pre
  20. };
复制代码
python:
  1. class Solution(object):
  2.     def rob(self, nums):
  3.         """
  4.         :type nums: List[int]
  5.         :rtype: int
  6.         """
  7.         if len(nums) == 0:
  8.             return 0
  9.         if len(nums) == 1:
  10.             return nums[0]
  11.         maxMoney = nums[0]
  12.         pre = max(maxMoney, nums[1])
  13.         for i in range(2, len(nums)):
  14.             cur = max(pre, maxMoney + nums[i])
  15.             maxMoney = pre
  16.             pre = cur
  17.         return pre
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4