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
算法基础--动态规划
经典算法题汇总
目录1.
动态规划
/回溯1.1最长公共子序列(牛客版,leetcode1143)1.2最长上升子序列(leetcode300)1.3最长回文子串(牛客版,leetcode5)1.4接雨水1.5重复数字的所有排列
qq_36696761
·
2024-09-05 09:33
C++---背包模型---潜水员(每日一道算法2023.3.13)
注意事项:本题是"
动态规划
—01背包"和"背包模型—二维费用的背包问题"的扩展题,优化思路不多赘述,dp思路会稍有不同,下面详细讲解。题目:潜水员为了潜水要使用特殊的装备。
SRestia
·
2024-09-05 09:59
算法
算法
c++
动态规划
算法练习题13——除自身以外数组的乘积(
动态规划
)
太爱这个dp解法了很好懂欸家人们!二维数组...牛哇牛哇题目描述给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据保证数组nums之中任意元素的全部前缀元素和后缀的乘积都在32位整数范围内。请不要使用除法,且在O(n)时间复杂度内完成此题。示例1:输入:nums=[1,2,3,4]输出:[24,12,8,6]示例2:输
mikey棒棒棒
·
2024-09-05 08:28
算法
dp
动态规划
Java
leetcode
常见的算法底层思想
2.
动态规划
思想:将原问题分解为若干个相互重叠的子问题,通过解决子问题来构建原问题的解,并存储子问题的解以避免重复计算。例子:斐波那契数列、最长公共子序列、背包问题。
qinbaby
·
2024-09-05 04:58
算法
牛客(最小花费爬楼梯)
最小花费爬楼梯题目题解(131)讨论(110)排行面经new时间限制:1秒空间限制:256M知识点
动态规划
描述给定一个整数数组cost,其中[]cost[i]是从楼梯第i个台阶向上爬需要支付的费用,下标从
希望有朝一日能如愿以偿
·
2024-09-04 17:58
算法
【
动态规划
】343. 整数拆分
力扣链接:343.整数拆分-力扣(LeetCode)dp数组的含义:dp[i]表示对i拆分,得到最大的积为dp[i]递推公式:拆成两个数是j*(i-j),拆成三个及以上是j*dp[i-j],所以递推公式取两者大值遍历顺序:从小到大publicintintegerBreak(intn){int[]dp=newint[n+1];dp[1]=0;dp[2]=1;for(inti=2;i<=n;i++){
羊毛_
·
2024-09-04 15:17
力扣刷题记录
动态规划
算法
探索C++编程技巧:计算两个字符串的最长公共子串
目录引言问题描述解决思路实现步骤基础实现
动态规划
优化代码示例复杂度分析总结
清水白石008
·
2024-09-04 08:52
C++
C++题库
面试试题
c++
代理模式
开发语言
代码随想录算法训练营第一天 | Javascript | 203. 移除链表元素、707. 设计链表
目录简介题目链接:203.移除链表元素题目链接:707.设计链表简介本人是小几年经验的前端开发,
算法基础
只有力扣几十道题,非常薄弱。
RayLobeCode
·
2024-09-03 23:56
链表
数据结构
刷题Day64|Floyd 算法精讲:97. 小明逛公园、A * 算法精讲:127. 骑士的攻击
思路:核心思想是
动态规划
。分两种情况:(1)节点i到节点j的最短路径经过节点k:grid[i][j][k]=grid[i][k][k-1]
风啊雨
·
2024-09-03 21:15
算法
代码随想录算法训练营第三十四天 |
动态规划
part02
62.不同路径classSolution{public:intuniquePaths(intm,intn){vector>dp(m,vector(n,1));for(inti=1;i>&obstacleGrid){intm=obstacleGrid.size();intn=obstacleGrid[0].size();vector>dp(m,vector(n,0));for(inti=0;i
sagen aller
·
2024-09-03 21:14
算法
动态规划
代码随想录算法训练营第三十二天(
动态规划
一)
前几天有点忙加上贪心后面好难QWQ暂时跳过两天的贪心,开始学动归
动态规划
理论基础:文章链接:代码随想录文章思维导图:文章摘要:
动态规划
,英文:DynamicProgramming,简称DP,如果某一问题有很多重叠子问题
map1e_zjc
·
2024-09-03 21:13
算法
动态规划
c++
leetcode
代码随想录算法训练营第三十四天(
动态规划
二)
力扣题部分:62.不同路径题目链接:.-力扣(LeetCode)题面:一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?思路:动规五部曲:1.确定dp数组(dptable)以及下标的含义dp[i][j]:表示从(0,0)出发,到(i,j)有dp[i]
map1e_zjc
·
2024-09-03 20:40
动态规划
算法
c++
leetcode
贪心算法---不同路径
思路:
动态规划
五部曲:1.确定dp数组及含义。dp数组需要是一个二维数组,dp[i][j]代表从起始位置到下标为(i,j)位置的不同路径条数。2.确定递推公式。
小鱼在乎
·
2024-09-03 20:38
数据结构与算法
贪心算法
算法
数据结构
动态规划
-股票问题
121.买卖股票的最佳时机.-力扣(LeetCode)一次买卖股票的最大收益1.dp[i][0]表示第i天持有股票所得最多现金,dp[i][1]表示第i天不持有股票所得最多现金2.dp[i][0]=max(dp[i-1][0],-prices[i]);前一天持有的收益,与今天持有的maxdp[i][1]=max(dp[i-1][1],prices[i]+dp[i-1][0]);前一天不持有的收益与
万事尽全力
·
2024-09-03 20:38
算法题汇总
动态规划
算法
动态规划
-子序列问题
300.最长递增子序列1.dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度2.位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列+1的最大值。if(nums[i]>nums[j])dp[i]=max(dp[i],dp[j]+1);//注意这里不是要dp[i]与dp[j]+1进行比较,而是我们要取dp[j]+1的最大值。3.dp[i](即最长递增子序列)起始大小至
万事尽全力
·
2024-09-03 20:08
算法题汇总
动态规划
算法
NC01--股票(一次交易)、合并k个有序链表、字符串的排列、接雨水问题、输出二叉树的右视图
tpId=117&&tqId=37717&rp=1&ru=/activity/oj&qru=/ta/job-code-high/question-ranking根本用不上什么
动态规划
,直接遍历数组,然后找到最低价格
minastinis of king
·
2024-09-03 05:36
#
牛客网高频50题
Day32:
动态规划
基础 I
509.斐波那契数斐波那契数,通常用F(n)表示,形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>1给你n,请计算F(n)。示例1:输入:2输出:1解释:F(2)=F(1)+F(0)=1+0=1示例2:输入:3输出:2解释:F(3)=F(2)+F(1)=1+1=2示例3:输入:4输
Vanilla TY
·
2024-09-02 19:05
动态规划
算法
华为OD机试真题 - 表演赛游戏分组 -
动态规划
(Python/JS/C/C++ 2024 D卷 200分)
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。一、题目描述部门准备举办一场王者荣耀表演赛,有10名游
哪 吒
·
2024-09-02 14:36
华为od
游戏
动态规划
完全背包&多重背包问题(
动态规划
)
完全背包问题:每个物品使用次数没有限制,与0-1背包的不同之处在于遍历背包的顺序是正序。#includeusingnamespacestd;intmain(){intn,v;cin>>n>>v;vectorweight(n),values(n),dp(v+1,0);//dp[j]:容量为j的背包的最大价值for(inti=0;i>weight[i]>>values[i];}for(inti=0;i
能力越小责任越小YA
·
2024-09-02 00:37
算法
算法
动态规划
c++
弗洛伊德(Floyd's)算法—解决最短路径经典算法
由美国计算机科学家罗伯特·弗洛伊德于1962年提出,该算法通过
动态规划
的思想,在图中寻找任意两个节点之间的最短路径,具有广泛的应用。本文将详细介绍弗洛伊德算法的原理、实现细节以及应用案例。
一条晒干的咸魚
·
2024-09-01 23:32
数据结构与算法
算法
深度探索:机器学习中的序列到序列模型(Seq2Seq)原理及其应用
目录1.引言与背景2.庞特里亚金定理与
动态规划
3.算法原理4.算法实现5.优缺点分析优点缺点6.案例应用7.对比与其他算法8.结论与展望1.引言与背景在当今信息爆炸的时代,机器学习作为人工智能领域的核心驱动力
生瓜蛋子
·
2024-09-01 08:22
机器学习
机器学习
人工智能
代码随想录算法训练营day55|第九章
动态规划
part16
目录583.两个字符串的删除操作72.编辑距离编辑距离总结篇判断子序列不同的子序列两个字符串的删除操作编辑距离583.两个字符串的删除操作本题和
动态规划
:115.不同的子序列相比,其实就是两个字符串都可以删除了
.wsy.
·
2024-09-01 05:37
代码随想录训练营
算法
动态规划
Leetcode面试经典150题-45.跳跃游戏II
解法都在代码里,不懂就留言或者私信,这个题绝对比
动态规划
的解法强classSolution{/**本题我们先不用
动态规划
了,因为从任何一个位置都可能跳到最后一个位置,用
动态规划
的成本太高了本题的解题思路
鱼跃鹰飞
·
2024-09-01 04:33
Leetcode
字节跳动高频面试题
leetcode
面试
游戏
剑指 Offer II 092. 翻转字符 / 剑指 Offer II 093. 最长斐波那契数列
剑指OfferII092.翻转字符【中等题】思路:【
动态规划
】二阶dp数组dp[i][0]表示将第i位翻转为0后,数组保持递增的最小翻转次数dp[i][1]表示将第i位翻转为1后,数组保持递增的最小翻转次数初始状态
彼淇梁
·
2024-08-31 11:14
力扣刷题记录
动态规划
算法
leetcode
java
刷题记录
Day28: 贪心
算法基础
||
122.买卖股票的最佳时机II给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:[7,1,5,3,6,4]输出:7解释:在第2天(股票价格=1)的时候买入,在第3天(股票价格=5)的时候卖出,这笔交易所能获得利润=5-1=
Vanilla TY
·
2024-08-31 09:59
贪心算法
算法
动态规划
的正确打开
动态规划
的正确打开跳台阶题目描述:一个楼梯共有n级台阶,每次可以走一级或者两级,问从第0级台阶到第n级台阶一共有多少种方案。输入格式:共一行,包含一个整数n。
CodeWizard~
·
2024-08-31 02:38
动态规划
深度优先
算法
c++
数据结构
19032 树上上升序列
**
动态规划
**:使用
动态规划
求解最长路径。###细节-**图的构建**:遍历所有边,根据点权大小确定边的方向。-**拓扑排序**:使用Kahn算法或DFS进行拓扑排序。
蠢蠢的打码
·
2024-08-30 19:55
数据结构
深度优先
图论
算法
c++
数据结构
动态规划
- 分组背包
eg:第i组一个物品都不选f[i-1][j],第i组选第k个物品f[i-1][j-v[i][k]]+w[i][k]样例输入:3521224134145样例输出:8//
动态规划
-分组背包#includeusingnamespacestd
我想进大厂
·
2024-08-30 17:43
动态规划
算法
【
动态规划
】【打卡121天】:背包理论基础
1、背包理论基础有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值最大。其实这是标准的背包问题。每一件物品有2种状态,取物品放入背包中,不取该物品放入背包中。所以可以使用回溯法搜索出所有的情况,那么时间复杂度就是O(2^n),这里的n表示物品数量。2、算法分析①确定dp数组以及下标的含义对
晓风残月一望关河萧索
·
2024-08-30 17:09
【算法】
力扣刷题:63. 不同路径 II 中等
算法:
动态规划
classSolution{publicintuniquePathsWithObstacles(int[][]obstacleGrid){
小柒阿龙
·
2024-08-30 12:38
算法系列
leetcode
算法
动态规划
贪心算法以及
动态规划
法
'''#贪心算法贪心算法(贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择,也就是说,不从整体最优上加以考虑,他所做的是某种意义上的局部最优解贪心算法并不保证会得到最优解,但是在某些问题上贪心算法的解就是最优解要会判断一个问题能否用贪心算法来计算''''''找零问题,假设商店老板需要找零n元钱,钱币的面额有:100元50元20元5元1元如何找零使得所需钱币的数量最少从最大钱币开始找'
小白bady
·
2024-08-29 16:56
pycharm
python
数据结构
基础
动态规划
专题总结
~~~~~总题单链接什么是
动态规划
~~~~~
动态规划
就是把当前的问题拆分成若干个子问题,将子问题解决后,再用子问题的答案来推出当前的问题。
OMG_NOIP
·
2024-08-29 08:06
省选复习
动态规划
动态规划
算法
代码随想录算法训练营第九天 | LeetCode 28
我自己的理解是KMP其实用了回溯+
动态规划
的思路来减少无用功,让已经匹配过的字符串可以复用。
Bingjiaokong
·
2024-08-29 08:05
随想录刷题
leetcode
算法
职场和发展
MATLAB智能优化算法-学习笔记(1)——遗传算法求解0-1背包问题【过程+代码】
由于其NP完全性,当问题规模较大时,求解此问题通常需要使用启发式算法(如遗传算法、
动态规划
、分支定界法等)来找到近似最优解。(3)实例讲解:0-1背包问题模型手动求解过程在0-1背包问题
郭十六弟
·
2024-08-28 23:59
算法
matlab
学习
智能优化算法
算法思想
遗传算法求解0-1背包问题
【算法】
动态规划
文章目录一、
动态规划
概念二、算法思想三、算法步骤四、应用场景五、
动态规划
优缺点一、
动态规划
概念
动态规划
(DynamicProgramming,简称DP)是一种广泛应用于数学、计算机科学和经济学等领域的方法论
小匠码农
·
2024-08-28 14:57
数据结构与算法
算法
动态规划
对经典
动态规划
问题【爬台阶】的一些思考
背景今天在做Leetcode题目时,做到了一道经典的
动态规划
问题:爬楼梯,题目的大致意思很简单,有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。
况之嘉禾
·
2024-08-28 07:15
Leetcode刷题笔记
杂七杂八的思考
动态规划
算法
leetcode
理解背包问题:分类与解题模板
动态规划
——背包问题文章目录理解背包问题:分类与解题模板什么是背包问题?
blaizeer
·
2024-08-28 05:59
算法
分类
动态规划
深度优先
算法
数据结构
力扣热题100_
动态规划
_198_打家劫舍
文章目录题目链接解题思路解题代码题目链接198.打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。示例1:输入:[1,2,3,1]输出:4解释:偷窃1号房
you_are_my_sunshine*
·
2024-08-28 04:22
力扣
leetcode
动态规划
算法
数据结构
力扣热题100_
动态规划
_70_爬楼梯
1阶+1阶+1阶1阶+2阶2阶+1阶解题思路#思路:
动态规划
#1.划分阶段#按照台阶的层数进行划分为0~n。#2.
you_are_my_sunshine*
·
2024-08-28 02:12
力扣
leetcode
动态规划
数据结构
算法分析之二叉树
算法相关数据结构总结:序号数据结构文章1
动态规划
动态规划
之背包问题——01背包
动态规划
之背包问题——完全背包
动态规划
之打家劫舍系列问题
动态规划
之股票买卖系列问题
动态规划
之子序列问题算法(Java)——
动态规划
小朱小朱绝不服输
·
2024-08-27 22:45
算法分析
算法
数据结构
二叉树
Java
2019-10-19 Lecture 4: Model-Free Prediction
Model-FreePredictionInterductionimage.png区别上节课讲已知MDP,使用
动态规划
方法来获得最优valuefunction和policy。
BoringFantasy
·
2024-08-27 19:39
C语言 | Leetcode C语言题解之第368题最大整除子集
largestDivisibleSubset(int*nums,intnumsSize,int*returnSize){intlen=numsSize;qsort(nums,numsSize,sizeof(int),cmp);//第1步:
动态规划
找出最大子集的个数
DdddJMs__135
·
2024-08-27 13:47
分享
C语言
Leetcode
题解
Java | Leetcode Java题解之第368题最大整除子集
classSolution{publicListlargestDivisibleSubset(int[]nums){intlen=nums.length;Arrays.sort(nums);//第1步:
动态规划
找出最大子集的个数
m0_57195758
·
2024-08-27 13:14
分享
Java
Leetcode
题解
leetcode贪心算法-跳跃游戏II
IDEA
动态规划
(从后向前)时间复杂度O(n2)O(n^2)O(n2)classSolution{publicintjump(int[]nums){nums[nums.length-1]=0;for(inti
nth2000
·
2024-08-27 07:08
贪心算法
leetcode
动态规划
2024牛客寒假
算法基础
集训营2 G Tokitsukaze and Power Battle (easy)
原题链接:https://ac.nowcoder.com/acm/contest/67742/G题目大意:一段长为n的数组,可以进行二种操作,第一种是改变其中的一个数,第二种是给定一个区间[l,r],可以选择这个区间中的一段[i,j],可以在这一段里面选择一个分割点x,[i,x]的区间和减去[x+1,j]的区间和为y,当进行这个操作的时候,题目要求找出最大的y。思路:进行第二种操作的时候,可以贪心
Jiu-yuan
·
2024-08-26 14:14
算法
数据结构与算法——
动态规划
目录引言最优子结构重叠子问题打家劫舍(LeetCode198题)经典例题1.爬楼梯(LeetCode70题)2.斐波那契数列(LeetCode126题)3.最长公共子序列(LeetCode95题)引言
动态规划
passion更好
·
2024-08-26 06:54
数据结构
C++
动态规划
算法
0-1 背包问题及其 Java 实现
0-1背包问题及其Java实现概述0-1背包问题是
动态规划
领域的经典问题之一。
杰哥的编程世界
·
2024-08-25 20:23
java算法
java
开发语言
Java 算法-背包问题 VI(
动态规划
)
今天做了一道背包问题的变种问题,这个问题还是用
动态规划
来做,但是做法上跟原来的背包问题有很大的区别。题意给出一个都是正整数的数组nums,其中没有重复的数。
琼珶和予
·
2024-08-25 17:40
代码随想录算法训练营day45:
动态规划
part12:115.不同的子序列;583. 两个字符串的删除操作;72. 编辑距离
目录115.不同的子序列分析:583.两个字符串的删除操作72.编辑距离115.不同的子序列力扣题目链接(opensnewwindow)给定一个字符串s和一个字符串t,计算在s的子序列中t出现的个数。字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE"是"ABCDE"的一个子序列,而"AEC"不是)题目数据保证答案符合32位带符号整数
树懒爱沙发
·
2024-08-25 16:57
算法
动态规划
leetcode
数据结构
代码随想录算法训练营第43天:
动态规划
part10:子序列问题
300.最长递增子序列力扣题目链接(opensnewwindow)给你一个整数数组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],因
树懒爱沙发
·
2024-08-25 16:27
算法
动态规划
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他