题目意思是:给一组数组,要使选取的子数组和(不用连续)最大,但不能同时选取相邻。

我的思路: 对于a[i]来说,要么选取,要么不选取。假设选取a[i],那么肯定不能选取a[i-1],只能看前0~i-2 中有没有能组成最大和的数。由此可以这样考虑 ,定义一个数组sum,sum[i]表示前i最大的和,

sum[i] = max{sum[i-2]+a[i],a[i-1]}

代码如下

int rob(int* nums, int numsSize) {int * sum = (int *)malloc(sizeof(int)*numsSize);sum[0] = nums[0];sum[1] = nums[1]>nums[0]?nums[1]:nums[0];for(int i =2;i<numsSize;i++){if(nums[i]+sum[i-2]>sum[i-1])sum[i] = nums[i]+sum[i-2];elsesum[i] = sum[i-1];}return sum[numsSize-1];
}

转载于:https://www.cnblogs.com/jzcbest1016/p/8992321.html

leetcode 198 动态规划相关推荐

  1. 动态规划——打家劫舍(Leetcode 198)

    题目选自Leetcode 198 打家劫舍 动态规划解法: 详解过程 如果你对动态规划还不够了解,不着急,咱慢慢来~~ 解题代码: class Solution { public:int rob(ve ...

  2. 【LeetCode】动态规划入门(专项打卡21天合集)

    [LeetCode]动态规划入门(专项打卡21天合集) 下图为证 文章目录 [LeetCode]动态规划入门(专项打卡21天合集) Day1 斐波拉契数 第 N 个泰波那契数 Day2 爬楼梯 使用最 ...

  3. leetcode 198打家劫舍

    leetcode 198打家劫舍 题目链接:打家劫舍 题目描述:你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间 ...

  4. LeetCode题解 - 动态规划-股票买卖

    LeetCode题解 - 动态规划-股票买卖 文章目录 LeetCode题解 - 动态规划-股票买卖 **一.穷举框架** **二.状态转移框架** **三.秒杀题目** 121. 买卖股票的最佳时机 ...

  5. Leetcode之动态规划(DP)专题-1025. 除数博弈(Divisor Game)

    Leetcode之动态规划(DP)专题-1025. 除数博弈(Divisor Game) 爱丽丝和鲍勃一起玩游戏,他们轮流行动.爱丽丝先手开局. 最初,黑板上有一个数字 N .在每个玩家的回合,玩家需 ...

  6. leetcode 198. 打家劫舍(最简单的动态规划问题)

    题目 思路 经典的动态规划问题 第 i 家:偷,或者不偷 -- 从这两种选择中,选择最大值. 1.如果 不偷,则等于 前 i-1 家最大 2.如果 偷,则等于 前 i-2 家最大 + 第 i 家 题解 ...

  7. LeetCode 198 House Robber(强盗盗窃最大值)(动态规划)(*)

    翻译 你是一个专业强盗,并计划沿街去盗窃每一个住户.每个房子都有一定量的现金,阻止你盗窃的唯一阻碍是相邻的两个房子之间有安全系统.一旦这两个房子同时被盗窃,系统就会自动联系警察.给定一系列非负整数代表 ...

  8. 102. Leetcode 198. 打家劫舍 (动态规划-打家劫舍)

    步骤一.确定状态: 1.确定原问题中变化的变量个数 2.考虑最后一步: 对于第N间房屋,有两个选项: 偷窃第N间房屋,那么就不能偷窃第N−1间房屋,偷窃总金额为前N-2间房屋的最高总金额与第N间房屋的 ...

  9. LeetCode 198. 打家劫舍(动态规划)

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

  10. leetcode - 198. 打家劫舍

    198. 打家劫舍 -------------------------------------- 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房 ...

最新文章

  1. function()默认参数中ReferenceError Cannot access ‘a‘ before initialization的解决方法
  2. 聚类分析:创建,可视化以及可解释性
  3. 一步一步 Mac OS X 与 Windows 7 双系统共存 的“黑苹果” 电脑 安装 入门
  4. 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
  5. [INSHack2018]Crypt0r part 1
  6. 反光衣识别算法冠军方案总结(附源码)|极市打榜
  7. Redis-学习笔记04【Jedis代码操作】
  8. GitHub 贡献第一的微软开源软件列表
  9. Windos下用setx.exe命令行模式下永久设置系统环境变量
  10. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第2篇]多核处理器和向量处理器的区别
  11. go var 一个整数_go语言中var
  12. Jmeter负载和压力测试
  13. java中伪代码_问Java的伪代码怎么书写
  14. Atitti v5住宿服务部后勤部建设指引指南.docx
  15. 如何解决安装PD17虚拟机 “操作失败 执行该操作失败”问题
  16. MySQL菜鸟学习日志——0001
  17. 蓝桥杯最终冲刺(冲刺Day2)
  18. poe交换机供电过程中会有哪些风险?
  19. php5.5 wamp,wamp环境单独安装(windows下apache2.4、mysql5.5、php5.5的版本)
  20. 谷粒商城关键技术总结-复习必备

热门文章

  1. GPU大百科全书 第二章 凝固生命的光栅化
  2. MySQL 显示版本、端口、状态
  3. 【C语言】指向一维数组元素的指针
  4. GLSL Core Tutorial – Pipeline (OpenGL 3.2 – OpenGL 4.2)
  5. 引用 java的一些基本概念
  6. 兼容M1芯片 Denise Audio poltergate Mac - 侧链均衡器
  7. 过滤代码中的html标签
  8. Mac OS X Tips
  9. php环境搭建(php5.5.8+apache2.4)
  10. [转]Hspice和Spice Explorer许可文件设置时环境变量FLEXLM_BATCH = 1的一些现象