E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Start_动态规划
【
动态规划
】三步问题
题目描述:示例:(1)题目解析:小孩每一次可以走1,2,3步,那么形成不同的排列组合,会有很多种上楼梯方式。(2)算法原理:[1]状态表示根据题目要求+经验,建立一个dp表,dp表中每个值,表示到达i位置为止,上楼梯的方式总数。[2]状态转移方程注意:计算的是方案数而不是步数,因此在选择从i-1=>ii-2=>ii-3=>i的时候,方案数和i-1位置i-2位置i-3位置相同,不需要+1。状态转移方
伱恏
·
2023-07-20 05:03
动态规划
动态规划
算法
C++解决爬楼梯问题低配版
对于这个问题从
动态规划
的角度来看,把爬n阶楼梯的方法看做爬n-1阶楼梯和迈出的一步的方法或者n-2阶楼梯和迈出两步的方法来看。
ICE2302
·
2023-07-20 03:43
leetcode
c++
开发语言
后端
代码随想录算法训练营第三十八天|509. 斐波那契数|70. 爬楼梯|746. 使用最小花费爬楼梯
一、509.斐波那契数思想:这题我第一想法是递归,然后没有使用过
动态规划
,听完
动态规划
的讲解,感觉做
动态规划
一定要按照步骤,这样能够保证你的代码不易出错。
igang of rebirth
·
2023-07-20 03:08
算法
1186. 删除一次得到子数组最大和;1711. 大餐计数;1834. 单线程 CPU
1186.删除一次得到子数组最大和解题思路:如果没做过还不是很好想,当时自己第一反应是双指针,结果是个
动态规划
的题。核心就是dp的定义,dp[i][k]表示以arr[i]结尾删除k次的最大和。
igang of rebirth
·
2023-07-20 03:35
python
算法
代码随想录算法训练营第48天 |
动态规划
part09 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
#198.打家劫舍12min,自己写出来了好开心。但我背包做习惯了,是按背包做的,但这不是一个背包题:时间复杂度会比较高introb(vector&nums){intsum=accumulate(nums.begin(),nums.end(),0);vector>dp(nums.size(),vector(sum+1,0));for(intj=nums[0];j=1;j--){if(j>=nums
weixin_51674457
·
2023-07-20 02:49
代码随想录一刷
算法
动态规划
leetcode
c++
【
动态规划
】从入门到实践---
动态规划
详解
目录1.
动态规划
概念一.定义数组元素的含义二.找到数组元素之间的关系表达式三.找到初始值2.案例详解一:爬楼梯1.定义数组元素的含义2.找到数组元素之间的关系表达式3.找到初始值案例二:最短路径题目:做题步骤
小锦鲤yaw
·
2023-07-20 01:54
动态规划
动态规划
算法
数据结构
最大子序和
动态规划
●1143.最长公共子序列classSolution{ publicintlongestCommonSubsequence(Stringtext1,Stringtext2){ int[][]dp=newint[text1.length()+1][text2.length()+1]; for(inti=1;i<=text1.length();i++){ charchar1=text1.c
vd_vd
·
2023-07-20 01:45
leetcode
算法
职场和发展
LeetCode | C++
动态规划
——583. 两个字符串的删除操作、72. 编辑距离
目录583.两个字符串的删除操作72.编辑距离583.两个字符串的删除操作583题目链接做法一:本题和1143.最长公共子序列基本相同,只要求出两个字符串的最长公共子序列长度即可,那么除了最长公共子序列之外的字符都是必须删除的,最后用两个字符串的总长度减去两个最长公共子序列的长度就是删除的最少步数。做法二:本题和115.不同的子序列相比,其实就是两个字符串都可以删除了dp[i][j]数组含义以i-
zhf_flash
·
2023-07-20 00:47
#
C++
leetcode
c++
动态规划
动态规划
——用数组记录中间过程的递归
然后看了群友推荐的一套
动态规划
的讲解视频。还有几个被推荐的讲的比较好的视频,另外加上看了n久百度,leetcode刷了好几道
动态规划
的题目的。最终决定系统的,从头开始学一遍
动态规划
并且记录成笔记。
唯有努力不欺人丶
·
2023-07-20 00:49
leetcode-70. 爬楼梯
题目https://leetcode-cn.com/problems/climbing-stairs/代码
动态规划
的入门题目/**@lcapp=leetcode.cnid=70lang=java**[70
sleepforests
·
2023-07-19 22:43
零钱兑换 II(力扣)
动态规划
JAVA
给你一个整数数组coins表示不同面额的硬币,另给一个整数amount表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回0。假设每一种面额的硬币有无限个。题目数据保证结果符合32位带符号整数。示例1:输入:amount=5,coins=[1,2,5]输出:4解释:有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例2:
Narnat
·
2023-07-19 22:30
leetcode
动态规划
java
整数拆分(力扣)
动态规划
JAVA
提示:2<=n<=58里程碑意义解题思路:1、典型
动态规划
题型,即前面所算的的值,对推导新值有铺垫作用2、设立dp数组dp[i]=x即拆分i可以获得的最大乘积为
Narnat
·
2023-07-19 22:58
leetcode
动态规划
java
动态规划
完全背包之518零钱兑换 II
题目:给你一个整数数组coins表示不同面额的硬币,另给一个整数amount表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回0。假设每一种面额的硬币有无限个。题目数据保证结果符合32位带符号整数。题目链接:518.零钱兑换II-力扣(LeetCode)示例:回顾:首先再回顾一下01背包的核心代码:for(inti=0;i=weight[i];j--){/
麻摆子
·
2023-07-19 22:26
代码随想录随手刷
动态规划
算法
动态规划
之119杨辉三角 II(第7道)
题目:给定一个非负索引rowIndex,返回「杨辉三角」的第rowIndex行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。题目链接:119.杨辉三角II-力扣(LeetCode)示例:解法:杨辉三角,是二项式系数在三角形中的一种几何排列。它是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。杨辉三角的几个特
麻摆子
·
2023-07-19 22:26
代码随想录随手刷
动态规划
算法
动态规划
之118杨辉三角(第6道)
题目:给定一个非负整数numRows,生成「杨辉三角」的前numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。题目链接:118.杨辉三角-力扣(LeetCode)示例:解法:classSolution{public:vector>generate(intnumRows){vector>dp(numRows);for(inti=0;i
麻摆子
·
2023-07-19 22:56
代码随想录随手刷
算法
动态规划
动态规划
01背包之1049 最后一块石头的重量 II(第11道)
题目:有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且。那么粉碎的可能结果如下:如果,那么两块石头都会被完全粉碎;如果,那么重量为x的石头将会完全粉碎,而重量为y的石头新重量为。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回0。示例:解法:本题物品的
麻摆子
·
2023-07-19 22:25
代码随想录随手刷
动态规划
算法
动态规划
算法(悬崖漫步实例)
动态规划
算法DynamicProgramming悬崖漫步环境importcopyclassCliffWalkingEnv:"""悬崖漫步环境"""def__init__(self,ncol=12,nrow
Recheriring
·
2023-07-19 22:55
强化学习
动态规划
教你一招,
动态规划
思想
动态规划
什么是
动态规划
?
动态规划
也是算法设计的一种方法/思想。它将一个问题分解为相互重叠的子问题,通过反复求解子问题,来解决原来的问题。基础案例场景一斐波那契数列当前数等于前面两个数的和。
菜园前端
·
2023-07-19 20:11
动态规划
算法
前端
javascript
算法刷题Day 42 背包问题理论基础+分割等和子集
Day42
动态规划
理论基础二维动规五部曲:确定dp数组以及下标的含义确定递推公式dp数组初始化确定遍历顺序举例推导dp数组一维01背包外部循环遍历物品,内部循环遍历背包大小01背包内部循环要用倒序遍历416
benobug
·
2023-07-19 19:05
算法
算法刷题Day 43 最后一块石头的重量II+目标和+一和零
Day43
动态规划
1049.最后一块石头的重量II注意第二个for循环那里不要漏了等于号classSolution{public:intlastStoneWeightII(vector&stones){
benobug
·
2023-07-19 19:05
算法
算法刷题Day 41 整数拆分+不同的二叉搜索树
Day41
动态规划
343.整数拆分classSolution{public:intintegerBreak(intn){if(n==2)return1;if(n==3)return2;if(n==4)return4
benobug
·
2023-07-19 18:35
算法
算法刷题Day 39 不同路径+不同路径II
Day39
动态规划
62.不同路径递归(深搜)使用递归的方法超时(可以过37个case)classSolution{intgoPath(intm,intn,intcurRow,intcurCol){if(
benobug
·
2023-07-19 18:32
算法
左神算法中级提升(4) 超级重点:
动态规划
的空间压缩技巧
【案例1】【题目描述】【以后出现这种的题型概率很低】【案例2】【题目描述】【思路解析】构建两个栈,一个栈存放基本数据,一个栈存放最小值数据。每次加入一个数据时,当前元素和栈顶元素比较,谁小谁进入。然后弹出时,两个栈同步弹出。【代码实现】importjava.util.Stack;/***@ProjectName:study3*@FileName:Ex2*@author:HWJ*@Data:2023
Studying~
·
2023-07-19 18:55
数据结构
java
【初级算法】
动态规划
入门学习
一、前言在去年暑假的时候,一个朋友建议我开始每天三道LeetCode刷题。但是由于刚开始学习Java框架以及C和数据结构很久没有碰了,于是就一心学习spring去了,忽略了算法的重要性。最近春招以及考研复习数据结构,才发现算法的重要性。因此,开始了算法的学习。二、准备工作注:为便于梳理框架,我会进行在准备工作处进行该系列的整理,如果只想快速看本主题,请点击链接。基础语法知识C语言篇(1)基础类型使
adventure.Li
·
2023-07-19 18:53
#
LeetCode
数据结构&算法设计
算法
数据结构
java
【LeetCode】常用算法之
动态规划
一直很想学习
动态规划
算法,虽然也在课上听老师讲过背包问题啊,旅行商问题啊,但是都是懵懵懂懂的匆匆而过,一直也没有学会。这次刷LeetCode也给了我一个机会来弥补之前的遗憾。
墨染百城
·
2023-07-19 18:23
LeetCode
算法
算法
动态规划
【C++】-list的模拟实现
作者:小树苗渴望变成参天大树作者宣言:认真写好每一篇博客作者gitee:gitee✨作者专栏:C语言,数据结构初阶,Linux,C++
动态规划
算法如果你喜欢作者的文章,就给作者点点关注吧!
橘柚!
·
2023-07-19 17:02
C++
c++
list
开发语言
最长递增子序列--
动态规划
+二分优化
最长递增子序列给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101],因此长度为4。示例2:输入:nums=[0,1,0,3
Guapifang
·
2023-07-19 16:08
LeetCode
二分查找
算法
leetcode
动态规划
数据结构
规划兼职工作--二分查找后进行
动态规划
规划兼职工作你打算利用空闲时间来做兼职工作赚些零花钱。这里有n份兼职工作,每份工作预计从startTime[i]开始到endTime[i]结束,报酬为profit[i]。给你一份兼职工作表,包含开始时间startTime,结束时间endTime和预计报酬profit三个数组,请你计算并返回可以获得的最大报酬。注意,时间上出现重叠的2份工作不能同时进行。如果你选择的工作在时间X结束,那么你可以立刻进
Guapifang
·
2023-07-19 16:37
LeetCode
二分查找
动态规划
算法
动态规划
leetcode
理解前缀和:高效计算数组前缀和的技巧
二、计算前缀和的方法三、
动态规划
求前缀和四、应用场景例题1前缀和代码:五、结论介绍:在计算机科学和算法中,前缀和(PrefixSum)是一种常见而强大的技巧。
star _chen
·
2023-07-19 14:54
基础算法
算法
数据结构
c++
【学会
动态规划
】不同路径 II(6)
目录
动态规划
怎么学?1.题目解析2.算法原理1.状态表示2.状态转移方程3.初始化4.填表顺序5.返回值3.代码编写写在最后:
动态规划
怎么学?
戊子仲秋
·
2023-07-19 13:54
学会动态规划
动态规划
算法
算法训练营第四十一天||● 343. 整数拆分 96.不同的二叉搜索树
●343.整数拆分这道有难度,不看题解肯定想不到用
动态规划
,看了题解后能大概明白,但还不是很清晰,不太明白递推公式中强调的与dp[i]还要比较一次,也不明白第一次去最大最的那个比较需要后面继续看动规五部曲
qq1156148707
·
2023-07-19 12:43
代码随想录一刷
算法
算法设计与分析 课程期末复习简记
目录网络流线性规划回溯算法分支限界贪心算法
动态规划
分治算法算法复杂度分析相关概念网络流下面是本章需要掌握的知识•流量⽹络的相关概念•最⼤流的概念•最⼩割集合的概念•Dinic有效算法的步骤•会⼿推⼀个流量
ZZZWWWFFF_
·
2023-07-19 10:59
算法
leetcode解题记录
目录目录数组
动态规划
字符串数组1.leetcode48旋转图像https://leetcode-cn.com/problems/rotate-image/solution/li-kou-48xiao-bai-du-neng-kan-dong-de-fang-fa-zhu
橙子爱吃蛋
·
2023-07-19 10:34
leetcode
leetcode
动态规划
---子序列问题
一)最长递增子序列:300.最长递增子序列-力扣(LeetCode)算法原理:1.定义一个状态表示:经验+题目要求dp[i]表示,以i位置为结尾,最长递增子序列的长度中心思路就是找到以i位置为结尾的所有递增子序列,然后找到递增子序列中最长的一个子序列2.根据状态表示推导状态转移方程像子序列子数组这样的状态转移方程的推导,都是针对于如何构成这个子序列,或者是如何构成这个子数组,来划分问题的,同时以i
辅助东皇燕双鹰
·
2023-07-19 09:29
动态规划
算法
第276场周赛
第276场周赛将字符串拆分为若干长度为k的组-先添加再分割题目描述题解思路题解代码得到目标值的最少行动次数-偶除奇加题目描述题解思路题解代码解决智力问题-
动态规划
题目描述题解思路题解代码将字符串拆分为若干长度为
Bu9_Maker
·
2023-07-19 08:34
周赛
leetcode
动态规划
python
leetcode-62-不同路径-
动态规划
经典题
因为原题有图片所以还是戳一下这个链接看完整题目吧主要内容摘录如下一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-paths著作权归领
荣荣的靓仔小馒头
·
2023-07-19 08:13
【python】
动态规划
算法学习:0-1背包问题 -牛客网HJ16 购物单
这里写目录标题题目HJ16购物单问题理解代码题目HJ16购物单描述王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件附件电脑打印机,扫描仪书柜图书书桌台灯,文具工作椅无如果要买归类为附件的物品,必须先买该附件所属的主件,且每件物品只能购买一次。每个主件可以有0个、1个或2个附件。附件不再有从属于自己的附件。王强查到了每件物品的价
Fourier_xyz
·
2023-07-19 06:24
算法
python
动态规划
最大子序和
动态规划
目录1143.最长公共子序列思路代码1035.不相交的线思路代码53.最大子序和
动态规划
思路代码代码随想录1143.最长公共子序列思路思路:这一题跟最长上升子序列有关。
qq_42591713
·
2023-07-19 05:11
算法
动态规划
代码随想录算法训练营 day52 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
目录300.最长递增子序列思路代码674.最长连续递增序列思路代码718.最长重复子数组思路代码代码随想录300.最长递增子序列思路思路:
动态规划
dp[i]表示从0-i的数组的最长严格递增子序列的长度if
qq_42591713
·
2023-07-19 05:39
算法
刷题-DAY6
第一题给定一个二维数组matrix,其中每个数都是正数,要求从左上到右下每一步只能向右或者向下,沿途经过的数字要累加起来最后请返回最小的路径和
动态规划
的空间压缩技巧!
Java学会 工资翻倍
·
2023-07-19 00:37
算法
【LeetCode每日一题合集】2023.7.10-2023.7.16(dfs & 换根DP)
文章目录16.最接近的三数之和排序+双指针1911.最大子序列交替和解法——
动态规划
2544.交替数字和(简单模拟)931.下降路径最小和(线性DP)979.在二叉树中分配硬币⭐⭐⭐⭐⭐(dfs)算法分析补充
小威W
·
2023-07-18 19:14
算法刷题记录
leetcode
算法
每日一题
换根DP
树
动态规划
鸡蛋掉落-两枚鸡蛋 --
动态规划
鸡蛋掉落-两枚鸡蛋中等60相关企业给你2枚相同的鸡蛋,和一栋从第1层到第n层共有n层楼的建筑。已知存在楼层f,满足0<=f<=n,任何从高于f的楼层落下的鸡蛋都会碎,从f楼层或比它低的楼层落下的鸡蛋都不会碎。每次操作,你可以取一枚没有碎的鸡蛋并把它从任一楼层x扔下(满足1<=x<=n)。如果鸡蛋碎了,你就不能再次使用它。如果某枚鸡蛋扔下后没有摔碎,则可以在之后的操作中重复使用这枚鸡蛋。请你计算并返
Guapifang
·
2023-07-18 17:51
LeetCode
动态规划
leetcode
算法
职场和发展
最低加油次数--
动态规划
最低加油次数汽车从起点出发驶向目的地,该目的地位于出发位置东面target英里处。沿途有加油站,每个station[i]代表一个加油站,它位于出发位置东面station[i][0]英里处,并且有station[i][1]升汽油。假设汽车油箱的容量是无限的,其中最初有startFuel升燃料。它每行驶1英里就会用掉1升汽油。当汽车到达加油站时,它可能停下来加油,将所有汽油从加油站转移到汽车中。为了到
Guapifang
·
2023-07-18 17:20
LeetCode
动态规划
leetcode
动态规划
二指输入的的最小距离--
动态规划
--区间DP
二指输入的的最小距离二指输入法定制键盘在XY平面上的布局如上图所示,其中每个大写英文字母都位于某个坐标处,例如字母A位于坐标(0,0),字母B位于坐标(0,1),字母P位于坐标(2,3)且字母Z位于坐标(4,1)。给你一个待输入字符串word,请你计算并返回在仅使用两根手指的情况下,键入该字符串需要的最小移动总距离。坐标(x1,y1)和(x2,y2)之间的距离是|x1-x2|+|y1-y2|。注意
Guapifang
·
2023-07-18 17:20
LeetCode
动态规划
知识图谱
人工智能
leetcode
预测赢家--
动态规划
+博弈论
预测赢家给你一个整数数组nums。玩家1和玩家2基于这个数组设计了一个游戏。玩家1和玩家2轮流进行自己的回合,玩家1先手。开始时,两个玩家的初始分值都是0。每一回合,玩家从数组的任意一端取一个数字(即,nums[0]或nums[nums.length-1]),取到的数字将会从数组中移除(数组长度减1)。玩家选中的数字将会加到他的得分上。当数组中没有剩余数字可取时,游戏结束。如果玩家1能成为赢家,返
Guapifang
·
2023-07-18 17:20
LeetCode
动态规划
leetcode
动态规划
算法
切分数组--
动态规划
+质数筛
LCP14.切分数组给定一个整数数组nums,小李想将nums切割成若干个非空子数组,使得每个子数组最左边的数和最右边的数的最大公约数大于1。为了减少他的工作量,请求出最少可以切成多少个子数组。示例1:输入:nums=[2,3,3,2,3,3]输出:2解释:最优切割为[2,3,3,2]和[3,3]。第一个子数组头尾数字的最大公约数为2,第二个子数组头尾数字的最大公约数为3。示例2:输入:nums=
Guapifang
·
2023-07-18 17:50
LeetCode
动态规划
动态规划
数据结构
leetcode
算法
丑数 II--
动态规划
丑数II编写一个程序,找出第n个丑数。丑数就是质因数只包含2,3,5的正整数。示例:输入:n=10输出:12解释:1,2,3,4,5,6,8,9,10,12是前10个丑数。说明:1是丑数。n不超过1690。题解:相关题目请点击:LeetCode算法题目合集比较有趣的题目,好的,我们先假定前面几个数字都知道为:1、2、3、4、5。那么下一个数字为啥为6呢?因为是前面:1、2、3、4、5中的某一个数字
Guapifang
·
2023-07-18 17:49
LeetCode
动态规划
动态规划
算法
c++
leetcode
切棍子的最小成本--
动态规划
--区间DP
切棍子的最小成本有一根长度为n个单位的木棍,棍上从0到n标记了若干位置。例如,长度为6的棍子可以标记如下:给你一个整数数组cuts,其中cuts[i]表示你需要将棍子切开的位置。你可以按顺序完成切割,也可以根据需要更改切割的顺序。每次切割的成本都是当前要切割的棍子的长度,切棍子的总成本是历次切割成本的总和。对棍子进行切割将会把一根木棍分成两根较小的木棍(这两根木棍的长度和就是切割前木棍的长度)。请
Guapifang
·
2023-07-18 17:49
LeetCode
动态规划
算法
动态规划
leetcode
整数拆分--
动态规划
整数拆分给定一个正整数n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。返回你可以获得的最大乘积。示例1:输入:2输出:1解释:2=1+1,1×1=1。示例2:输入:10输出:36解释:10=3+3+4,3×3×4=36。说明:你可以假设n不小于2且不大于58。题解:定义数组dp[maxn],dp[n]表示数字n可以得到的题意描述的答案,那么设x取值范围在[1,n-1]之间,于是我们的答
Guapifang
·
2023-07-18 17:19
LeetCode
动态规划
动态规划
算法
leetcode
多米诺和托米诺平铺 - 二维空间的
动态规划
多米诺和托米诺平铺中等304相关企业有两种形状的瓷砖:一种是2x1的多米诺形,另一种是形如“L”的托米诺形。两种形状都可以旋转。给定整数n,返回可以平铺2xn的面板的方法的数量。返回对109+7取模的值。平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的相邻单元中的两个,使得恰好有一个平铺有一个瓷砖占据两个正方形。示例1:输入:n=3输出:5解释:五种不同的方法如上所
Guapifang
·
2023-07-18 17:46
LeetCode
动态规划
leetcode
动态规划
算法
上一页
117
118
119
120
121
122
123
124
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他