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
动态规划—背包问题
力扣第121题 买卖股票的最佳时机 c++
动态规划
解法 熟练dp思维 之简单题 附Java代码
在我以前有贪心解法,也可以去参考参考)贪心解法股票问题https://blog.csdn.net/jgk666666/article/details/133978629121.买卖股票的最佳时机简单相关标签数组
动态规划
给定一个数组
冷yan~
·
2023-11-07 08:38
leetcode
动态规划
数据结构
算法
leetcode
c++
java
动态规划
DAY46 139.单词拆分 + 多重背包 +
背包问题
总结篇
139.单词拆分题目要求:给定一个非空字符串s和一个包含非空单词的列表wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。思路完全背包,把非空字符串s作为背包容量,wordDict表示物品,单词可以在字符串中出现多次。dp[i]表示,字符串s的前“i”位置能否由wordDict中的单词组成,bool类型的数
fuxxu
·
2023-11-07 05:13
算法
动态规划
leetcode
动态规划
专题
动态规划
动态规划
题型1需要使用排序算法的
动态规划
leetcode1751leetcode1235leetcode2830leetcode2054
Nahida_nora
·
2023-11-07 02:27
动态规划
Leetcode
leetcode
动态规划
0
动态规划
困难 LeetCode1235. 规划兼职工作
1235.规划兼职工作描述你打算利用空闲时间来做兼职工作赚些零花钱。这里有n份兼职工作,每份工作预计从startTime[i]开始到endTime[i]结束,报酬为profit[i]。给你一份兼职工作表,包含开始时间startTime,结束时间endTime和预计报酬profit三个数组,请你计算并返回可以获得的最大报酬。注意,时间上出现重叠的2份工作不能同时进行。如果你选择的工作在时间X结束,那
18阿鲁
·
2023-11-07 02:27
动态规划
算法
leetcode
规划兼职工作 [
动态规划
+二分查找]
目录1.需要知识1.1sort自定义排序1.2upper_bound()2.题目3.思路4.代码实现5.后记1.需要知识1.1sort自定义排序sort函数有三个参数:sort(start,end,compare);start为需要排序区域的起点;end为需要排序区域的终点;compare为排序方式,可以不指定,此时默认为升序排列。(ps:这个也可以我们自行定义)如果要自行定义的话,如下://自
JuneDec02
·
2023-11-07 02:26
leetCode
leetcode
c++
2020-5 leetcode 1235. 规划兼职工作
1.思路:0.
动态规划
(是基于排好序的job数组进行的),dp[i]代表做第i个工作(包含第i个)之前的工作得到的薪酬1.将工作序号按照结束时间进行排序。然后得到与每个工作不冲突的之前的工作的下标。
畏人心i
·
2023-11-07 02:25
leetcode
LeetCode 1235. 规划兼职工作
但是大致的思路一开始就有,在实现时出现了很多问题基本的思路就是
动态规划
,但是我第一次写的时候,把dp建立在时间上,虽然这样理解起来比较简单,但是当出现某一工作时间跨度过长的情况时,就会造成很多的重复操作
ky0uma
·
2023-11-07 01:53
题
leetcode
动态规划
算法
leetcode1235. 规划兼职工作
1235.规划兼职工作
动态规划
dpdp[i]=max(dp[i−1],dp[k]+profit[i−1])dp[i]=max(dp[i−1],dp[k]+profit[i−1])dp[i]=max(dp
ZnS_oscar
·
2023-11-07 01:53
leetcode
算法
动态规划
leetcode
LeetCode 1235 规划兼职工作[
动态规划
二分查找] HERODING的LeetCode之路
解题思路:一道非常实用的
动态规划
题型,首先将时间信息、利润放入同一数组中,数组中每一项就代表每份工作的三个属性,按照结束时间对数组进行排序,同时也对结束数组进行从小到大排序,这里为什么不按照开始时间进行排序呢
HERODING77
·
2023-11-07 01:52
LeetCode
leetcode
动态规划
算法
c++
二分查找
代码随想录第四十三天 | 0-1背包的应用:让石头分成重量相同的两堆 转化 为 416.分割等和子集(1049);排列组合问题(背包/回溯 494);物品重量有两个维度的01背包(474)
1背包又没有思路,这也没涉及到取得价值最大,而且虽然对一块石头是取与不取,但是主要是关心取的顺序经过代码随想录提示,其实最终就是要尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01
背包问题
了
Asher Gu
·
2023-11-07 01:11
leetcode
c++
动态规划
算法
c++
leetcode
代码随想录第四十二天 | 0-1背包理论基础:二维dp矩阵 01背包,一维dp数组 01背包(滚动数组)(卡玛网 46题);0-1背包的应用:分割等和子集(416)
1、0-1背包理论基础
背包问题
分类有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。
Asher Gu
·
2023-11-07 01:11
leetcode
c++
算法
leetcode
c++
代码随想录第四十四天 |
动态规划
完全背包:纯完全背包理论基础(卡码网第52题);应用(注意遍历顺序):组合(518),排列(377)
1、
动态规划
:完全背包理论基础有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。
Asher Gu
·
2023-11-07 01:09
leetcode
c++
动态规划
算法
c++
leetcode
如何知道是
背包问题
那么什么样的问题可以被称作为
背包问题
?换言之,我们拿到题目如何透过题目的不同包装形式看到里面
背包问题
的不变内核呢?
Coding+_+
·
2023-11-07 01:04
刷题总结
算法
动态规划
leetcode174. 地下城游戏(Python3)
文章目录leetcode174.地下城游戏方法:
动态规划
思路:代码:结果:leetcode174.地下城游戏一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由MxN个房间组成的二维网格。
AndyLiu1997
·
2023-11-07 00:19
Leetcode做题记录
动态规划
算法
leetcode
python
地下城游戏--
动态规划
+二分
地下城游戏一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由MxN个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至0或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是
Guapifang
·
2023-11-07 00:19
LeetCode
动态规划
二分查找
游戏
动态规划
c++
算法
地下城游戏(
动态规划
)
一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由MxN个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至0或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间
Gogo-2020
·
2023-11-07 00:19
leetcode
leetcode
算法
【算法作业】
动态规划
与贪心的区别
动态规划
具有两个性质:1)重叠子问题2)最优子结构贪心算法:1)贪心选择性质2)最优子结构最优子结构性质是指问题的最优解包含其子问题的最优解时,就称该问题具有最优子结构性质。
__0077
·
2023-11-07 00:48
研一算法课
动态规划
leetcode174.地下城游戏
也就是说,这样的
动态规划
是不满足
无痕公子style
·
2023-11-07 00:46
leetcode
动态规划
[
动态规划
] (九) 路径问题:LeetCode 64.最小路径和
[
动态规划
](九)路径问题:LeetCode64.最小路径和文章目录[
动态规划
](九)路径问题:LeetCode64.最小路径和题目解析解题思路状态表示状态转移方程初始化和填表顺序返回值代码实现总结64
clamdown2021
·
2023-11-07 00:14
LEETCODE
动态规划
leetcode
算法
[
动态规划
] (十) 路径问题 LeetCode 174.地下城游戏
[
动态规划
](十)路径问题:LeetCode174.地下城游戏文章目录[
动态规划
](十)路径问题:LeetCode174.地下城游戏题目解析解题思路状态表示状态转移方程初始化和填表顺序返回值代码实现总结
clamdown2021
·
2023-11-07 00:42
LEETCODE
动态规划
leetcode
游戏
最长回文子串-LeetCode5
动态规划
由于基础还不是很牢固一时间只能想到暴力的解法:取遍每个子串总数量n+n-1+n-2+…+1=O(n^2)判断每个子串是否属于回文串O(n)故总时间复杂度为O(n^3)classSolution{public:stringlongestPalindrome(strings){intmax=0;stringret;for(inti=0;imax){max=Judeg(s1);ret=s1;}}retu
Postlude
·
2023-11-06 23:05
LeetCode
动态规划
算法
c++
力扣370周赛 -- 第三题(树形DP)
该题的方法,也有点背包的意思,如果一些不懂的朋友,可以从背包的角度去理解该树形DP问题题解主要在注释里//该题是
背包问题
+树形dp问题的结合版,在树上解决
背包问题
//
背包问题
就是选或不选当前物品//本题求的是最大分数
乖的小肥羊
·
2023-11-06 22:46
leetcode
算法
职场和发展
代码随想录算法训练营第四十三天丨
动态规划
part06
518.零钱兑换II思路这是一道典型的
背包问题
,一看到钱币数量不限,就知道这是一个完全背包。对完全背包还不了解的同学,可以看这篇:
动态规划
:关于完全背包,你该了解这些!
叫一只啦啦
·
2023-11-06 20:50
代码随想录算法训练营
动态规划
代码随想录算法训练营第四十一天丨
动态规划
part04
01背包理论基础见连接:代码随想录416.分割等和子集思路01
背包问题
背包问题
,大家都知道,有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。
叫一只啦啦
·
2023-11-06 20:20
代码随想录算法训练营
算法
动态规划
代码随想录算法训练营第四十二天丨
动态规划
part05
1049.最后一块石头的重量II思路本题其实就是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01
背包问题
了。
叫一只啦啦
·
2023-11-06 20:20
代码随想录算法训练营
算法
动态规划
代码随想录算法训练营第四十四天丨
动态规划
part07
70.爬楼梯思路这次讲到了
背包问题
这道题目我们在
动态规划
:爬楼梯(opensnewwindow)中已经讲过一次了,原题其实是一道简单动规的题目。
叫一只啦啦
·
2023-11-06 20:14
代码随想录算法训练营
算法
动态规划
背包问题
套路
背包问题
背包问题
是
动态规划
中一个子类。01
背包问题
问题描述:有n个物品,它们有各自的体积和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?
白想519
·
2023-11-06 20:30
【LeetCode】Day51-打家劫舍 I&II&变形
题目1198.打家劫舍【中等】题解第一道自己动手做出来的
动态规划
,快哭了classSolution{publicintrob(int[]nums){intn=nums.length;int[]dp=newint
倒过来是圈圈
·
2023-11-06 18:56
Leetcode进阶之路
leetcode
算法
动态规划
【算法练习Day39】单词拆分&&多重背包的介绍
个人主页:@Sherry的成长之路学习社区:Sherry的成长之路(个人社区)专栏链接:练题长路漫漫浩浩,万事皆有期待文章目录单词拆分多重背包总结:这一期到了
背包问题
的最后一期,主要讲解一道leetcodee
Sherry的成长之路
·
2023-11-06 18:25
练题
算法
Day 48 | 198.打家劫舍 & 213.打家劫舍II & 337.打家劫舍 III
198.打家劫舍
动态规划
解题思路:①确定dp数组以及下标含义dp[i]:偷窃到第i号房屋能偷窃到的金额为dp[i]②确定递推公式每到一个房屋,有两个选择1不偷:则dp[i]=dp[i-1](等于前一号房屋偷的最大金额
tttowo
·
2023-11-06 18:23
算法
算法刷题Day 48 打家劫舍+打家劫舍II+打家劫舍III
Day48
动态规划
198.打家劫舍classSolution{public:introb(vector&nums){if(nums.size()==1)returnnums[0];vectordp(nums.size
benobug
·
2023-11-06 18:20
算法
leetcode
数据结构
【蓝桥算法】【
背包问题
】0-1背包与完全背包
背包问题
:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高0-1背包:每样物品最多只能选择一次b站这个视频讲的很详细思路:设value[i]与weight
Chaoerlie
·
2023-11-06 18:24
算法
动态规划
算法
蓝桥杯
数据结构
java
动态规划
问题分类总结
动态规划
分类有很多划分方法,网上有很多是按照状态来分,分为一维、二维、区间、树形等等。
月下围城
·
2023-11-06 17:40
day55【
动态规划
子序列】392.判断子序列 115.不同的子序列
文章目录392.判断子序列115.不同的子序列392.判断子序列题目链接:力扣链接讲解链接:代码随想录讲解链接题意:给定字符串s和t,判断s是否为t的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。进阶:如果有大量输入的S,称作S1,S2,…,Sk其中k>=10亿,你需要依
xuwuuu
·
2023-11-06 16:21
动态规划
算法
【训练营day56|
动态规划
|583. 两个字符串的删除操作、72. 编辑距离】
训练营day56|
动态规划
|583.两个字符串的删除操作、72.编辑距离583.两个字符串的删除操作要点代码72.编辑距离要点代码583.两个字符串的删除操作要点思路1:求两个字符串的最长公共子序列,然后用各自的长度减去最长公共子序列的长度
weixin_48205370
·
2023-11-06 16:19
动态规划
算法
算法 DAY56
动态规划
12 583. 两个字符串的删除操作 72. 编辑距离
583.两个字符串的删除操作1、dp[i][j]的定义以i-1结尾的word1和以j-1结尾的word2想要达到相等,所需要删除元素的最少次数。2、递推公式如果i-1==j-1那么dp[i][j]=dp[i-1][j-1]如果i-1!=j-1那么dp[i][j]就会有三种选择dp[i-1][j-1]+2dp[i-1][j]+1dp[i][j-1]+1其中dp[i-1][j-1]+2和dp[i][j
Uafhængige
·
2023-11-06 16:18
算法
动态规划
c++
【代码随想录Day56
动态规划
part16】583.两个字符串的删除操作、72.编辑距离
目录Day56583.两个字符串的删除操作72.编辑距离Day56583.两个字符串的删除操作classSolution{publicintminDistance(Stringword1,Stringword2){intn=word1.length();intm=word2.length();intdp[][]=newint[n+1][m+1];for(inti=1;i<=n;i++){charc
joyboy0405
·
2023-11-06 16:16
动态规划
算法
Day56【
动态规划
】583.两个字符串的删除操作、72.编辑距离
583.两个字符串的删除操作力扣题目链接/文章讲解视频讲解1、确定dp数组下标及值含义dp[i][j]:以下标i为结尾的字符串word1,和以下标j为结尾的字符串word2,想要达到相等,所需要删除元素的最少次数为dp[i][j]2、确定递推公式当word1[i]==word2[j]时:这个时候只需要考虑怎么对word1[0,i-1]和word2[0,j-1]删除到相同即可即dp[i][j]=dp
林沐华
·
2023-11-06 16:43
代码随想录
动态规划
算法
c++
数据结构
leetcode
Day 56 | 583. 两个字符串的删除操作 & 72. 编辑距离 & 编辑距离总结篇
583.两个字符串的删除操作解法一:直接求删除的步数
动态规划
解题思路:①确定dp数组以及下标含义dp[i][j]:以下标i-1结尾的字符串s与下标j-1结尾的字符串t想要达到相等,所需要删除元素的最少次数
tttowo
·
2023-11-06 16:11
算法
动态规划
代码随想录|day56|
动态规划
part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇
583.两个字符串的删除操作链接:代码随想录本题和
动态规划
:115.不同的子序列相比,其实就是两个字符串都可以删除了,情况虽说复杂一些,但整体思路是不变的。自己的思路和错误的地方。
isabelightL
·
2023-11-06 16:10
代码随想录
算法
动态规划
day56【
动态规划
-编辑距离】583.两个字符串的删除操作 72.编辑距离
文章目录583.两个字符串的删除操作72.编辑距离583.两个字符串的删除操作力扣题目链接代码随想录讲解链接题意:给定两个单词word1和word2,返回使得word1和word2相同所需的最小步数。每步可以删除任意一个字符串中的一个字符。示例1:输入:word1="sea",word2="eat"输出:2解释:第一步将"sea"变为"ea",第二步将"eat"变为"ea"示例2:输入:word1
xuwuuu
·
2023-11-06 16:36
动态规划
算法
下降路径最小和--
动态规划
下降路径最小和给你一个nxn的方形整数数组matrix,请你找出并返回通过matrix的下降路径的最小和。下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。具体来说,位置(row,col)的下一个元素应当是(row+1,col-1)、(row+1,col)或者(row+1,col+1)
Guapifang
·
2023-11-06 15:17
LeetCode
动态规划
动态规划
算法
leetcode
下降路径最小和(
动态规划
)
给定一个方形整数数组A,我们想要得到通过A的下降路径的最小和。下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列。示例:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:12解释:可能的下降路径有:[1,4,7],[1,4,8],[1,5,7],[1,5,8],[1,5,9][2,4,7],[2,4,8],[2,5,7],[2
Gogo-2020
·
2023-11-06 15:47
leetcode
动态规划
算法
java
leetcode
Java
动态规划
Leetcode 931. 下降路径最小和
代码展示:classSolution{publicintminFallingPathSum(int[][]matrix){intn=matrix.length;//创建dp数组int[][]dp=newint[n+1][n+2];//初始化for(inti=1;i<=n;i++){dp[i][0]=dp[i][n+1]=Integer.MAX_VALUE;}//填充数组for(inti=1;i<=
小林想被监督学习
·
2023-11-06 15:12
java
动态规划
leetcode
leetcode 931. 下降路径最小和 python
题目描述:题解:
动态规划
1.rows表示输入matrix行数,cols表示matrix列数,设置一个大小和输入matrix相等的dp,dp[rows-1]和matrix[rows-1]相等。
岗岗ganggang
·
2023-11-06 15:41
leetcode动态规划
leetcode
python
算法
[
动态规划
] (七) 路径问题:LCR 166.剑指offer 47. 珠宝的最高价值
[
动态规划
](七)路径问题:LCR166./剑指offer47.珠宝的最高价值文章目录[
动态规划
](七)路径问题:LCR166.
clamdown2021
·
2023-11-06 15:11
LEETCODE
动态规划
算法
leetcode931.下降路径最小和(
动态规划
)
leetcode931.下降路径最小和给你一个nxn的方形整数数组matrix,请你找出并返回通过matrix的下降路径的最小和。下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。具体来说,位置(row,col)的下一个元素应当是(row+1,col-1)、(row+1,col)或者(
immortalize
·
2023-11-06 15:11
leetcode算法题解答
java
leetcode
算法
[
动态规划
] (八) LeetCode 931.下降路径最小和
[
动态规划
](八)LeetCode931.下降路径最小和文章目录[
动态规划
](八)LeetCode931.下降路径最小和题目解析解题思路状态表示状态转移方程初始化和填表顺序返回值代码实现总结931.下降路径最小和题目解析
clamdown2021
·
2023-11-06 15:06
LEETCODE
动态规划
leetcode
算法
300. 最长上升子序列(Python)
题目难度:★★★☆☆类型:数组方法:
动态规划
,二分法传送门给定一个无序的整数数组,找到其中最长上升子序列的长度。
玖月晴
·
2023-11-06 11:29
算法设计与分析实验---
动态规划
1.石子合并任务描述沿着河岸摆放N堆石子,现要将石子有次序地合并成一堆,规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。例如:4堆石子4,5,9,4,可以按(((4,5),9),4)合并。第一次合并得分是9分,合并之后石子堆是9,9,4第二次合并得分是18分,合并之后石子堆是18,4第三次合并得分是22分,合并之后石子堆是22三次合并总得分49试设计出一个算法,计
YY不爱吃烤鸭
·
2023-11-06 09:20
算法
动态规划
上一页
58
59
60
61
62
63
64
65
下一页
按字母分类:
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
其他