leetcode 198打家劫舍
讲解视频见刘宇波leetcode动态规划第三个视频
记忆化搜索代码:
#include <bits/stdc++.h>
using namespace std;
class Solution {
private:
vector<int>memo;
int tryRob(int index, vector<int>& nums)
{
if (index > nums.size())
{
return ;
}
if (memo[index] != -)
return memo[index];
int i;
int res = ;
for (i = index; i < nums.size(); i++)
{
res = max(res, nums[i] + tryRob(i + , nums));
}
memo[index] = res;
return res;
}
public:
int rob(vector<int>& nums) {
memo = vector<int>(nums.size()+, -);
return tryRob(,nums);
}
};
动态规划代码:
#include<bits/stdc++.h>
#include <algorithm>
using namespace std;
class Solution {
private:
/*bool cmp(int a, int b)
{
return a>b;
}*/
public: int rob(vector<int>& nums) {
int n = nums.size();
vector<int>memo(n + , );
if (n == )
return ;
memo[n] = ;
memo[n+]=;
memo[n - ] = nums[n - ];
memo[n-]=nums[n-];
int i;
int j;
for (i = n - ; i >= ; i--)
{
memo[i] = nums[i];
for(j=i+;j<n;j++)
{
memo[i]=max(memo[i],nums[i]+memo[j]);
} }
sort(memo.begin(),memo.end());
return memo[memo.size()-]; }
};
leetcode 198打家劫舍的更多相关文章
- [LeetCode] 198. 打家劫舍II ☆☆☆(动态规划)
描述 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的 ...
- LeetCode 198. 打家劫舍(House Robber) 5
198. 打家劫舍 198. House Robber 题目描述 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两 ...
- [LeetCode] 198. 打家劫舍 ☆(动态规划)
描述 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定一个 ...
- Java实现 LeetCode 198 打家劫舍
198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报 ...
- leetcode 198 打家劫舍 Python 动态规划
打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定 ...
- LeetCode 198. 打家劫舍(House Robber)LeetCode 213. 打家劫舍 II(House Robber II)
打家劫舍 题目描述 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报 ...
- 力扣Leetcode 198. 打家劫舍
打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定 ...
- [LeetCode]198. 打家劫舍(DP)
题目 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定一个 ...
- Leetcode——198. 打家劫舍
题目描述:题目链接 这道题目也是一道动态规划的题目: 分析一道动态规划的题目可以将解决问题的思路分为下面三个部分: 1:问题的描述.可以定义数组d[ i ] 用于表示第i -1家可以获得的最大金额. ...
随机推荐
- windous----操作系统基础
操作系统基础 服务软件,控制硬件. 一:什么事操作系统 操作系统就是一个协调,管理和控制和计算机硬件资源控制程序. 用户态:运行应用程序,不可以操作硬件(可以获取cpu的指令集的一个子集,该子集不包 ...
- js对象属性两种调用bug
jsobj.url_3[0]=url_3[1];这就错误jsobj.url_3[0]红色看成一个整体的0的属性,这就错了 TypeError: Cannot set property '0' of u ...
- 洛谷P1032 字串变换【bfs】
题目链接:https://www.luogu.org/problemnew/show/P1032 题意: 给定一个原字符串和目标字符串,以及几个字符串变换的规则. 问能否根据这几个规则在十步之内把原字 ...
- pytorch的一些基本操作
(1)生成一个未初始化的tensor import torch x = torch.Tensor(5,3) print(x) (2)随机初始化一个tensor y = torch.randn(5,3) ...
- hadoop内存配置方案
Configuration File Configuration Setting Value Calculation 8G VM (4G For MR) yarn-site.xml ...
- 如何写好.babelrc?Babel的presets和plugins配置解析
什么是Babel The compiler for writing next generation JavaScript. 官网是这么说的,翻译一下就是下一代JavaScript 语法的编译器. 作为 ...
- Page7:能控性、能观性及其判据和对偶原理(2)[Linear System Theory]
内容包含连续时间时变系统的能控性和能观测性判据,离散时间线性系统的能控性和能观测性判据,以及对偶原理
- [maven] 初试maven
环境 CentOS 6 一, 安装: [root@okk ~]# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.0/binaries ...
- <笔记>Effective Objective-C 2.0 编写高质量iOS与
1. 内存管理-引用计数 2. 非对象类型 int float double char 3.运行时--编译器(编译时)函数调用 4.@class 缩短编译时间,降低依赖,耦合 5.使用字面量而不是 ...
- js的序列化和反序列化
(1)序列化 即js中的Object转化为字符串 1.使用toJSONString var last=obj.toJSONString(); //将JSON对象转化为JSON字符 2.使用strin ...