LeetCode热题100——动态规划

news2024/11/18 9:21:56

动态规划

  • 1. 爬楼梯
  • 2. 杨辉三角
  • 3. 打家劫舍

1. 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

// 题解:每次都有两种选择,1或者2
int climbStairs(int n) {
	if (n <= 0) return 0;
	vector<int> dp(n+1, 0);
	dp[0] = 1;
	dp[1] = 1;
	for (int i = 2; i <= n; ++i) {
		dp[i] = dp[i-1] + dp[i-2];
	}
	return dp[n];
}

2. 杨辉三角

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
在这里插入图片描述

// 题解:从第三层开始,累计和
vector<vector<int>> generate(int numRows) {
	vector<vector<int>> result(numRows);
	for (int i = 0; i < numRows; ++i) {
		result[i].resize(i+1);
		reult[i][0] = result[i][i] = 1;
		for (int j = 1; j < i; ++j) {
			result[i][j] = result[i-1][j] + result[i-1][j-1];
		}
	}
	return result;
}

3. 打家劫舍

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

给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

// 题解:和上次结果比较,取最大值
int rob(vector<int>& nums) {
	int length = nums.size();
	if (length == 0) return 0;
	
	vector<int> dp(length+1, 0);
	dp[1] = nums[0];
	for (int i = 2; i <= length; ++i) {
		dp[i] = max(dp[i-1], dp[i-2] + nums[i-1]);
	}
	return dp[length];
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1234983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GAMES101—Lec 05~06:光栅化

目录 概念回顾&#xff08;个人理解&#xff09;光栅化1.采样2.采样出现的问题&#xff1a;走样 反走样 概念回顾&#xff08;个人理解&#xff09; 屏幕&#xff1a;在图形学中&#xff0c;我们认为屏幕是一个二维数组&#xff0c;数组里的每一个元素为一个二维像素。 光栅化…

【C++进阶之路】第四篇:set和map

文章目录 一、关联式容器健值对二、set & multiset三、map & multimap在这里插入图片描述 四、set和map底层原理 一、关联式容器健值对 关联式容器 & 键值对 二、set & multiset set & multiset 三、map & multimap map & multimap 四、set和…

【AT模式连接ONENET】ONENET可视化平台的使用

02 ONENET可视化平台的使用 ATCWMODE1 设置模式 ATCWDHCP1,1 启动DHCP功能 ①ATCWJAP"ssid","password" ATCWJAP“123456789”&#xff0c;“wang020118” ②ATMQTTUSERCFG0,1,"设备名字","设备ID","你的鉴权信息""…

JAVA项目测试----用户管理系统

一)项目简介: 用户管理系统是依据于前后端分离来实现的&#xff0c;是基于Spring SpringBoot Spring MVC&#xff0c;SpringAOP&#xff0c;MyBatis等框架来实现的一个用户管理网站&#xff0c;并且已经部署到了云服务器上, 目前的用户管理系统实现了超级管理员的注册功能&…

模电 01

一.半导体基本知识 1.优点&#xff1a;体积小、重量轻、使用寿命长、输入功率小、功率转换效率高。 2.性能介于导体与绝缘体 3.常用半导体材料&#xff1a;硅&#xff08;SI&#xff09; 镉&#xff08;Ge&#xff09;,化合物半导体&#xff1a;砷化镓&#xff08;GaAs&…

【封装UI组件库系列】全局样式的定义与重置

封装UI组件库系列第二篇样式​​​​​​​ ​​​​​​&#x1f31f;前言 &#x1f31f;定义全局样式 生成主题色和不同亮度的颜色 ​编辑 中性色及其他变量 &#x1f31f;样式重置 &#x1f31f;总结 ​​​​​​​​​​​​​​&#x1f31f;前言 在前端开发中&…

SpringBoot趣探究--1.logo是如何打印出来的

一.前言 从本篇开始&#xff0c;我将对springboot框架做一个有趣的探究&#xff0c;探究一下它的流程&#xff0c;虽然源码看不懂&#xff0c;不过我们可以一点一点慢慢深挖&#xff0c;好了&#xff0c;下面我们来看一下本篇的知识&#xff0c;这个logo是如何打印出来的&#…

2014年2月24日 Go生态洞察:FOSDEM 2014上的Go演讲精选

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

【Echart】Echart设置label太长隐藏:

文章目录 第一种&#xff1a;竖排显示第二种&#xff1a;显示部分第三种&#xff1a;强制显示所有标签并旋转 第一种&#xff1a;竖排显示 xAxis: {type: category,data: res.data.data.sz.xAxis,axisLabel:{fontSize:12,formatter: function(value) {return value.split().joi…

gitlab安装以及创建用户创建组,修改密码 邮箱配置 数据备份与恢复--保姆级教学!

GitLab是一种基于Web的Git仓库管理工具&#xff0c;它允许您在组织或个人级别上创建和管理Git仓库&#xff0c;以便在一个中心位置上执行代码管理和协作工作。GitLab提供了强大的功能&#xff0c;如代码审查、问题跟踪、CI/CD、容器注册表、Wiki和持续集成等。 以下是GitLab的…

gitlab安装配置及应用

安装 ##安装依赖 yum install -y curl policycoreutils-python openssh-server perl#上传包 rz gitlab-jh-16.5.2-jh.0.el7.x86_64.rpm 安装 yum install gitlab-jh-16.0.3-jh.0.el7.x86_64.rpm 初始化并启动 # 以下两种方法都可以配置访问地址&#xff0c;第一种需要在yum安…

2023年【A特种设备相关管理(锅炉压力容器压力管道)】模拟考试题及A特种设备相关管理(锅炉压力容器压力管道)作业考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 A特种设备相关管理&#xff08;锅炉压力容器压力管道&#xff09;模拟考试题参考答案及A特种设备相关管理&#xff08;锅炉压力容器压力管道&#xff09;考试试题解析是安全生产模拟考试一点通题库老师及A特种设备相关…

[Docker]八.Docker 容器跨主机通讯

一.跨主机通讯原理 在主机192.168.31.140上的docker0(172.17.0.0/16)中有一个容器mycentos( 172.17.0.2/16), 在主机192.168.31.81上的docker0(172.17.0.0/16)中有一个容器mycentos( 172.17.0.2/16),然后在主机192.168.31.140上ping主机192.168.31.81,发现ping不通要实现两个主…

【代数学习题4.1】从零理解范数与迹 —— 求极小多项式

从零理解范数与迹 —— 求极小多项式 写在前面概念解释题目解答 1. 极小多项式极小多项式的求法1. 对 α \alpha α 的极小多项式python求解 2. 对 α 1 \alpha 1 α1 的极小多项式python找到多项式python找到极小多项式 3. 对 α 2 α 1 \alpha^2 \alpha 1 α2α1 的…

高校档案室建设标准-高校数字档案室建设需考虑哪些因素

高校档案室是高等教育机构所建立的档案存放与管理的机构&#xff0c;主要负责高校行政、教学、科研、文化和保密等方面的档案的收集、整理、保存、利用和管理工作。高校档案室是高等教育机构的重要组成部分&#xff0c;旨在为高校的历史研究、管理和服务提供必要的档案资源。同…

STM32F4串口USART发送为00的解决方案

检查接线是否正确检查TX是否为复用推挽输出 3.检查是否将TX和RX引脚重映射为USART功能 在STM32中&#xff0c;每个GPIO引脚可以配置为不同的复用功能&#xff0c;例如UART、SPI、I2C等。具体来说&#xff0c;GPIO_PinAFConfig函数用于配置GPIO引脚的复用功能。它的参数包括GPIO…

Java使用x-www-form-urlencoded发请求

平常在开发过程中用的最多的就是JSON格式&#xff0c;请求编码就是 application/json&#xff0c;但偏偏有些接口是 x-www-form-urlencoded&#xff0c;怎么办呢&#xff0c;重新封装喽 在POSTMan工具是叫 x-www-form-urlencoded 在 APIpost工具中是叫 urlencoded Map<Str…

Monoxide relay机制和连弩挖矿

这篇文章就两个点&#xff0c;relay机制 、 连弩挖矿 relay 最终原子性 Eventual Atomicity 一笔跨链交易&#xff0c;从取款shard中发出&#xff0c;到存款shard中. 当收款shard中将这笔夸片交易打包上链后&#xff0c;原子性才执行结束。 这样做的延迟是比较小的。 如何应…

uniapp、微信小程序返回上页面刷新数据

目录 前言&#xff1a; 方法1&#xff1a; 方法2&#xff1a; 方法3&#xff1a; 前言&#xff1a; 返回上页面刷新数据这个功能主要用于在当前页面点击跳转到另一个页面之后&#xff0c;在另一个页面对数据进行了操作&#xff0c;比如&#xff1a;阅读量&#xff0c;然后返…