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
动态规划—背包问题
《代码随想录 11 章(1)》二刷题解及心得体会
目录第十一章11.1
动态规划
理论基础11.1.1
动态规划
问题解题步骤11.1.2
动态规划
应该如何排查问题11.2斐波那契数11.3爬楼梯11.3.1拓展11.4使用最小花费爬楼梯11.4.1拓展11.5
C01dWater
·
2023-11-03 01:59
读书笔记
算法
c++
代码随想录算法训练营第41天|343. 整数拆分,96.不同的二叉搜索树
343.整数拆分力扣题目链接思路
动态规划
dp[i]表示拆分i的乘积最大值递推公式:dp[i]=max(dp[i],max(j*(i-j),j*dp[i-j]));初始化:dp[0]=0;dp[1]=0;
CZ-0
·
2023-11-03 01:25
代码随想录刷题
算法
leetcode
动态规划
代码随想录算法训练营第41天 || 343. 整数拆分 || 96.不同的二叉搜索树
个人思路:说实话,我的这种方法并不是
动态规划
,算是数学规律常
悠悠琴声流水
·
2023-11-03 01:24
算法
动态规划
leetcode
代码随想录算法训练营第四十一天 |
动态规划
part 3 | 343. 整数拆分、96.不同的二叉搜索树
目录343.整数拆分思路代码96.不同的二叉搜索树思路代码343.整数拆分Leetcode思路dp[i]表示分拆数字i,可以得到的最大乘积为dp[i]。dp[i]=max(dp[i],max((i-j)*j,dp[i-j]*j))贪心解法这里粘贴一下美版StefanPochmann老哥的idea(一句话就直观理解数学方法)You’remakingitprettycomplicated.Ifanop
enzoherewj
·
2023-11-03 01:20
代码随想录算法训练营
算法
动态规划
leetcode
python
python 无重复字符的最长子串 Leetcode No.3
python无重复字符的最长子串LeetcodeNo.3题意刚开始看到这个题目的是,下意识觉得会用
动态规划
写,
动态规划
有个经典题目,就是求两个字符串的公共最长子序列,感觉很像。anyway,哈哈哈哈。
GhostintheCode
·
2023-11-03 01:48
python
LeetCode
面试
Python
LeetCode
NO.3
无重复字符的最长子串
代码随想录Day39-41
动态规划
| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯、62. 不同路径、63. 不同路径2、343. 整数拆分、96. 不同的二叉搜索树
509.斐波那契数
动态规划
动态规划
中每一个状态是由上一个状态推导出来的:重叠子问题(贪心:每次选取最大/最小的,与上一个状态无关)动规五部曲确定dp数组及下标的含义确定递推公式确定dp数组如何初始化确定遍历顺序举例推导状态转移公式
动态规划
Genelove1974
·
2023-11-03 01:18
代码随想录
Leetcode
动态规划
leetcode
算法
代码随想录第三十八天 |
动态规划
:理论基础;斐波那契数(509),递归的时间复杂度;爬楼梯(70);使用最小花费爬楼梯(746)
1、
动态规划
理论基础
动态规划
刷题大纲1.1什么是
动态规划
如果某一问题有很多重叠子问题,使用
动态规划
是最有效的,
动态规划
中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的例如
Asher Gu
·
2023-11-03 01:17
leetcode
c++
动态规划
算法
c++
leetcode
代码随想录第三十九天 | 不同路径:没有障碍:深搜,
动态规划
,数论(62);有障碍:明确动规数组含义 以及 初始化 的重要性(63)
1、没有障碍的不同路径:深搜,
动态规划
,数论1.1leetcode62:不同路径第一遍代码record记录从起点到这个格子有几条路径只有左边一格,上面一格有可能能到目标格子classSolution{public
Asher Gu
·
2023-11-03 01:17
leetcode
c++
动态规划
算法
c++
leetcode
代码随想录第四十一天 |
动态规划
:整数拆分(343,加贪心);不同的二叉搜索树(96)
1、leetcode343:整数拆分1.1leetcode343:
动态规划
第一遍代码没思路代码随想录思路看到这道题目,都会想拆成两个呢,还是三个呢,还是四个…我们来看一下如何使用动规来解决动规五部曲,分析如下
Asher Gu
·
2023-11-03 01:42
leetcode
c++
动态规划
算法
c++
leetcode
贪心算法
动态规划
-整数拆分
对于奇数,其中必有1这个拆分所以f(2n+1)=f(2n)对于偶数,分为两种情况,111111.拆分中含有1,则与奇数情况相同f(2n+2)=f(2n+1)=f(2n)22222.拆分中不含1,所有数除以2,f(2n)=f(n)所以f(2n)=f(2n-2)+f(n)边界条件为f(1)=1#include#include#defineMIX1000000000intmain(){intn;intd
hdchieh
·
2023-11-03 00:02
代码随想录 Day35
动态规划
04 01
背包问题
和完全
背包问题
LeetCode T416 分割等和子集
背包问题
说到
背包问题
大家都会想到使用动规的方式来求解,那么为什么用动规呢,dp数组代表什么呢?
qiuqiushuibx
·
2023-11-02 23:25
数据结构
代码随想录
动态规划
leetcode
算法
LeetCode House Robber II(
动态规划
)
问题:给出一个数组,表示房屋内藏有的现金。房屋围成一圈。相邻房间装有防盗系统,如果相邻的房间在同一晚上被偷,系统会自动报警。要求在不触到警报的情况下,能够偷到的最高金额。思路:因为房屋围成一圈,并且不能连续偷相邻的房间。因此只能是在0-n-1和1-n-1之间偷。用dp(i)表示到第i个房间时可以偷到的最高金额,当不偷第i个房间时,dp(i)=dp(i-1),当偷第i个房间时,dp(i)=dp(i-
kgduu
·
2023-11-02 22:34
算法设计与分析
OJ
House Robber(
动态规划
经典题)
Youareaprofessionalrobberplanningtorobhousesalongastreet.Eachhousehasacertainamountofmoneystashed,theonlyconstraintstoppingyoufromrobbingeachofthemisthatadjacenthouseshavesecuritysystemconnectedanditw
weixin_42741175
·
2023-11-02 22:02
动态规划
LeetCode
leetcode
动态规划
House Robber II 【
动态规划
】
213.HouseRobberIINote:ThisisanextensionofHouseRobber.Afterrobbingthosehousesonthatstreet,thethiefhasfoundhimselfanewplaceforhisthieverysothathewillnotgettoomuchattention.Thistime,allhousesatthisplacea
renxingzhadan
·
2023-11-02 22:31
leetcode
java
leetcode
【Lintcode】534. House Robber II
思路是
动态规划
。设f[i]f[i]f[i]是偷A[i]A[i]A[i]及其
记录算法题解
·
2023-11-02 22:01
LC
贪心
动态规划与记忆化搜索
leetcode
算法
动态规划
数据结构
House Robber II--
动态规划
题目链接198.HouseRobberYouareaprofessionalrobberplanningtorobhousesalongastreet.Eachhousehasacertainamountofmoneystashed,theonlyconstraintstoppingyoufromrobbingeachofthemisthatadjacenthouseshavesecuritysy
monkey_rose
·
2023-11-02 22:59
LeetCode
LeetCode
c++
动态规划
算法
House Robber II-
动态规划
-打家劫舍系列2
Leetcode213.HouseRobberIILeetcode213.HouseRobberII题目思路复杂度代码Leetcode213.HouseRobberII这道题是对198的简单扩展Leetcode打家劫舍系列的对比可以参考Leetcode198.HouseRobber题目题目链接思路由于是环状,且相邻房屋不能同时被劫,只要保证第一个房屋和最后一个房屋不会同时被劫即可,将第一个房屋排除
Wilson-mz
·
2023-11-02 22:59
leetcode题解
leetcode
动态规划
算法
House Robber II(
动态规划
)
213.HouseRobberIIMediumYouareaprofessionalrobberplanningtorobhousesalongastreet.Eachhousehasacertainamountofmoneystashed.Allhousesatthisplacearearrangedinacircle.Thatmeansthefirsthouseistheneighboroft
da_kao_la
·
2023-11-02 22:56
LeetCode
LeetCode
Medium
Java
动态规划
[leetcode]
动态规划
之House Robber II
动态规划
之HouseRobberII题目思考代码题目leetcode入口思考刚开始想的dp[i]的解释是以nums[i]为结尾(包括nums[i])的最大数量,然后找不到状态方程。
crabstew
·
2023-11-02 22:55
动态规划
leetcode
动态规划
leetcode
House Robber II(
动态规划
)
Youareaprofessionalrobberplanningtorobhousesalongastreet.Eachhousehasacertainamountofmoneystashed.Allhousesatthisplacearearrangedinacircle.Thatmeansthefirsthouseistheneighborofthelastone.Meanwhile,adj
anqiu4023
·
2023-11-02 22:25
数据结构与算法
动态规划
之打家劫舍(House Robber)-C语言实现
动态规划
之打家劫舍(HouseRobber)-C语言实现前言打家劫舍是0-1背包经典问题的其中一类,其特征符合经典的
动态规划
求解流程,通过本经典习题的学习和理解,深入理解0-1经典问题背后的逻辑以及递归过程中二叉树的形成过程
Jasonchen1224
·
2023-11-02 22:24
动态规划
c语言
算法
LintCode 534 · House Robber II (环形
动态规划
好题)
534·HouseRobberIIMediumDescriptionSolution31NotesDiscuss99+LeaderboardRecordDescriptionAfterrobbingthosehousesonthatstreet,thethiefhasfoundhimselfanewplaceforhisthieverysothathewillnotgettoomuchattent
纸上得来终觉浅 绝知此事要躬行
·
2023-11-02 21:22
动态规划
算法
leetcode
动态规划
62. 不同路径
不同路径一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入:m=3,n=7输出:28示例2:输入:m=3,n=2输出:3解释:从左上角开始,总共有3条路径可以到达右下角。向右->向下->向下向下->向下->向右向下->向右->向下示例3:
Cortina perfecta
·
2023-11-02 21:56
leetcode
c++
动态规划
2|62.不同路径|63. 不同路径 II
动态规划
2|62.不同路径|63.不同路径II一、62.不同路径题目连接:62.不同路径-力扣(LeetCode)确定含义:表示从(0,0)出发,到(i,j)有dp[i][j]条不同的路径。
顾小九
·
2023-11-02 21:51
Java刷题
动态规划
算法
leetcode
java
数据结构
Leetcode 62. 不同路径
Leetcode62.不同路径1、问题分析2、问题解决3、总结1、问题分析题目链接:https://leetcode-cn.com/problems/unique-paths/ 本质上就是一个
动态规划
问题
qq_32510597
·
2023-11-02 21:19
LeetCode
Hot100
c++
leetcode
动态规划
62.
不同路径
算法
P2240 【深基12.例1】部分
背包问题
#includeusingnamespacestd; structPercent{ intm,v; doublep;}a[101];//这是很关键的一个点,是使用结构体数组保存m,b和单位价值p,这样p排完序可以直接找到m boolcmp(Percenta,Percentb){ returna.p>b.p; }//学习点1:sort比较时的比较函数要自己设置,这样可以传进去Percen
LonelyGhosts
·
2023-11-02 17:23
c++
数学建模
开发语言
[leetcode]最大正方形面积(
动态规划
)
matrix1=[["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","1","1","1"]]classSolution:defmaximalSquare(self,matrix):ifnotmatrixornotmatrix[0]:return0m,n=len(matrix),len(matrix
路人乙yh
·
2023-11-02 16:04
【算法设计与分析·复习】第五章-回溯算法||整理
stepbystep.目录1.回溯法2.回溯法避免无效搜索的策略——剪枝函数(1)约束函数(2)限界函数3.递归回溯4.子集树5.排列树6.装载问题——子集树7.0-1
背包问题
——子集树8.批处理调度—
bdy_y9
·
2023-11-02 14:08
scau
笔记
算法设计与分析
算法
深度优先
数据结构
代码训练营第56天:
动态规划
part14|leetcode1143最长公共子序列|leetcode1035不相交的线
leetcode1143:最长公共子序列文章讲解:leetcode1143leetcode1035:不相交的线文章讲解:leetcode1035目录1,leetcode1143最长公共子序列2,leetcode1035:不相交的线3,leetcode53最大子数组和1,leetcode1143最长公共子序列与前面那道子数组不同的是,这个字母可以不连续对应。只要有对应就可以。classSolutio
吃不饱饭怎么办
·
2023-11-02 14:01
算法
leetcode
数据结构
代码训练营第57天:
动态规划
part15|leetcode392 判断子序列|leetcode115 不同的子序列
leetcode392:判断子序列文章讲解:leetcode392leetcode115:不同的子序列文章讲解:leetcode115目录1,leetcode392判断子序列2,leetcode115不同的子序列1,leetcode392判断子序列classSolution{public:boolisSubsequence(strings,stringt){if(s.size()==0)retur
吃不饱饭怎么办
·
2023-11-02 14:01
算法
【C++代码】分割等和子集,目标和,一和零,零钱兑换,
动态规划
--代码随想录
题目:分割等和子集给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。初步想法排序后双指针,发现不行classSolution{public:boolcanPartition(vector&nums){if(nums.size()right_sum){right--;right_sum+=nums[right];}else{left++;le
羞儿
·
2023-11-02 14:01
啃书《C++Primer5
c++
动态规划
开发语言
代码随想录算法训练营第五十六天 |
动态规划
part16
583.两个字符串的删除操作给定两个单词word1和word2,返回使得word1和word2相同所需的最小步数。每步可以删除任意一个字符串中的一个字符。classSolution{publicintminDistance(Stringword1,Stringword2){intlen1=word1.length();intlen2=word2.length();//dp[i][j],以i-1结尾
RicardoLee7
·
2023-11-02 14:31
算法
动态规划
c++
代码训练营第55天:
动态规划
part13|leetcode300最长递增子序列|leetcode674最长连续递增子序列|leetcode718最长重复子数组
leetcode300:最长递增子序列文章讲解:leetcode300leetcode674:最长连续递增子序列文章讲解:leetcode674leetcode718:最长重复子数组文章讲解:leetcode718目录1,leetcode300最长递增子序列2,leetcode674最长连续递增子序列3,leetcode718最长重复子数组1,leetcode300最长递增子序列这道题其实递推思路
吃不饱饭怎么办
·
2023-11-02 14:31
算法
leetcode
数据结构
【C++代码】
背包问题
,完全背包,多重背包,打家劫舍,
动态规划
--代码随想录
此时大家应该发现这就是一个完全
背包问题
了!确定dp数组以及下标的含义:dp[i]:爬到有i个台阶的楼顶,有dp[i]种方法。确定递推公式:那么递推公式
羞儿
·
2023-11-02 14:30
啃书《C++Primer5
c++
动态规划
开发语言
【C++代码】买卖股票最佳时机系列,
动态规划
--代码随想录
题目:买卖股票的最佳时机给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。股票就买卖一次,那么贪心的想法很自然就是取最左最小值,取最右最大值,那么得到的差值就是最大利润。class
羞儿
·
2023-11-02 14:52
啃书《C++Primer5
c++
动态规划
开发语言
代码训练营第58天:
动态规划
part16|leetcode583两个字符串的删除操作|leetcode72编辑距离。
leetcode583:两个字符串的删除操作文章讲解:leetcode583leetcode72:编辑距离文章讲解:leetcode72目录1,leetcode583两个字符串的删除操作:2,leetcode72编辑距离:1,leetcode583两个字符串的删除操作:做题做到现在发现往往是题目的要求就是dp的含义。不用想的太复杂。两个字符串,这是一个二维dp。dp[i][j]的含义是字符串a到i
吃不饱饭怎么办
·
2023-11-02 14:52
算法
C++刷题学习笔记目录
目录C++刷题与学习笔记一、数据结构&算法数据结构1、数组2、字符串3、链表4、树5、栈和队列6、哈希算法1、递归和循环2、查找和排序二分查找快速排序3、回溯法4、贪心5、
动态规划
背包问题
6、位运算二、
温酒煮青梅
·
2023-11-02 13:19
C++学习
刷题笔记
#
LeetCode
热题
HOT
100
c++
数据结构
算法
Python刷Leetcode 数据结构与算法学习,刷题学习笔记。
`Python刷Leetcode,刷题学习笔记`一、两数之和(哈希表)二、合并两个有序数组三、爬楼梯(
动态规划
)一、两数之和(哈希表)Leetcode上的第一题,看下题目:给定一个整数数组nums和一个目标值
Mr_zhouxin123
·
2023-11-02 13:15
挑战60天
每天Leetcode刷题
数据结构与算法
python
leetcode
学习
二叉树刷题学习笔记2
上一篇:二叉树刷题学习笔记1——框架十大经典排序算法:快速排序和归并排序文章目录二叉树的重要性例题二叉树的重要性上一篇章有说到二叉树刷题的两个思路:遍历和分解,而这两个思路,其实就是回溯算法和
动态规划
的思想
@@老胡
·
2023-11-02 13:44
数据结构与算法分析
算法
java
力扣学习day5
2.新学习目标1.按照如下类型来刷题:数组->链表->哈希表->字符串->栈与队列->树->回溯->贪心->
动态规划
->图论->高级数据结构,
此人受打击,决定去力扣历练
·
2023-11-02 12:02
力扣学习
leetcode
【图解 LeetCode 房屋染色
动态规划
思想 + 代码实现】
LeetCode房屋染色
动态规划
问题描述:假如有一排房子,共n个,每个房子可以被粉刷成k种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。
唯时
·
2023-11-02 12:39
算法
leetcode
动态规划
算法
力扣:96.不同的二叉搜索树
1:输入:n=3输出:5示例2:输入:n=1输出:1链接:https://leetcode-cn.com/problems/unique-binary-search-trees2、思路分析首先本题采用
动态规划
解题方法
meraki
·
2023-11-02 08:39
算法
leetcode
动态规划
算法
力扣第62题 不同路径 c++
动态规划
dp二维 + dp一维 解法
题目62.不同路径中等相关标签数学
动态规划
组合数学一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。
冷yan~
·
2023-11-02 08:07
动态规划
leetcode
数据结构
算法
leetcode
动态规划
力扣第63题 不同路径 || c++
动态规划
+ 优化代码
题目63.不同路径II中等相关标签数组
动态规划
矩阵一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。
冷yan~
·
2023-11-02 08:07
动态规划
leetcode
数据结构
算法
leetcode
c++
动态规划
力扣第343题 整数拆分 c++
动态规划
+ 贪心巧解
题目343.整数拆分中等相关标签数学
动态规划
给定一个正整数n,将其拆分为k个正整数的和(k>=2),并使这些整数的乘积最大化。返回你可以获得的最大乘积。
冷yan~
·
2023-11-02 08:07
动态规划
leetcode
数据结构
算法
leetcode
c++
动态规划
力扣第96题 不同的二叉搜索树 c++ 二叉搜索树
动态规划
+ 数学思维
题目96.不同的二叉搜索树中等相关标签树二叉搜索树数学
动态规划
二叉树给你一个整数n,求恰由n个节点组成且节点值从1到n互不相同的二叉搜索树有多少种?返回满足题意的二叉搜索树的种数。
冷yan~
·
2023-11-02 08:03
动态规划
leetcode
数学
数据结构
c++
动态规划
leetcode
算法
数学
基于值函数逼近的强化学习方法
强化学习的基本方法有:(1)基于
动态规划
的方法(模型已知)(2)基于蒙特卡罗的方法(模型未知)(3)基于时间差分的方法(模型未知)但是,这些方法有一个基本的前提条件:状态空间和动作空间是离散的,并且且状态空间和动作空间不能太大
北木.
·
2023-11-02 08:01
强化学习
值函数逼近
强化学习方法
最优解问题的求解
1.一般来说题目中需要求解出最优解的问题,我们是可以使用普通递归,递推,深度优先搜索,记忆型的递归,贪心或者
动态规划
来进行求解的其中使用普通的递归或者深搜,递推这些数据量较小的情况下求解速度还行,假如数据量相对大一点的情况下
yuzhang_zy
·
2023-11-02 08:59
贪心与动态规划
Leetcode-032-Longest Valid Parentheses
也是比较经典的
动态规划
问题了。这道题我记得最早是学习数据结构的时候用栈来解决这个问题,用
动态规划
解写法会更方便一些。
单调不减
·
2023-11-02 08:00
题解 | 「力扣」第 526 题:优美的排列(回溯、
动态规划
)
「力扣」第526题:优美的排列题目链接假设有从1到N的N个整数,如果从这N个数字中成功构造出一个数组,使得数组的第i位(1n){//一次加1个return1;}intres=0;for(inti=1;i<=n;i++){if(!visited[i]&&(pos%i==0||i%pos==0)){visited[i]=true;res+=dfs(n,pos+1,visited);visited[i]
李威威
·
2023-11-02 08:49
上一页
62
63
64
65
66
67
68
69
下一页
按字母分类:
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
其他