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
动态规划-线性DP
(算法)
动态规划
前言:一直不能理解
动态规划
的思想,翻阅各种资料,终于有了一些进步,分享资料如下,如果有更好的解题思路可以留言,笔者会进行补充up视频推荐(超容易感兴趣的入门课程)
动态规划
常见题型解析编程题目汇总
createcrystal
·
2024-01-26 08:30
算法
算法
动态规划
LeetCode 力扣 89. 格雷编码
解法一
动态规划
按照
动态规划
或者说递归的思路去想,也就是解决了小问题,怎么解决大问题。我们假设我们有了n=2的解,然后考虑怎么得到n=3的解。
windliang
·
2024-01-26 07:33
C语言-算法-
线性dp
[USACO1.5][IOI1994]数字三角形NumberTriangles题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。在上面的样例中,从7→3→8→7→57\to3\to8\to7\to57→3→8→7→5的路径产生了最大权值。输入格式第一个行一个正整数rrr,表示行的数目。后面每行为这个数
SpongeG
·
2024-01-26 04:25
算法
c语言
动态规划
leetcode刷题笔记_二叉树相关
AVL树:*通过递归,自下而上不断地旋转,直到二叉搜索树满足平衡树AVL的条件:第938题二叉搜索树的范围和第110题高度平衡的二叉树自顶向下递归:自底向上递归:不同的二叉搜索树:第96题不同的二叉搜索树
动态规划
小白要努力sgy
·
2024-01-26 03:21
leetcode
笔记
算法
Day45|
动态规划
part07:70. 爬楼梯 (进阶)、322. 零钱兑换、279. 完全平方数
爬楼梯(进阶)leetcode链接:力扣题目链接假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶。1.1阶+1阶+1阶2.1阶+2阶3.2阶+1阶之前已经做过这题了,实际上这题可以抽象成一个完全背包问题(只有
QHG7C0
·
2024-01-26 03:34
数据结构与算法(一刷)
动态规划
算法
记录|Day45
动态规划
part07 ● 70. 爬楼梯 (进阶) ● 322. 零钱兑换 ● 279.完全平方数
●70.爬楼梯(进阶)题目描述假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶。1.1阶+1阶+1阶2.1阶+2阶3.2阶+1阶提示:1dp(n+1,0);dp[0]=1;for(inti=1;i=0)dp[
null_one
·
2024-01-26 03:03
leedcode刷题
动态规划
算法
leetcode
刷题打卡day45第九章
动态规划
part07:70. 爬楼梯 (进阶)、 322. 零钱兑换 、279.完全平方数
70.爬楼梯(进阶)一次走若干步,多少种方法可以走到楼梯顶端。抽象成完全背包问题:背包容量为楼梯总阶数。物品重量为每次走的若干步。classSolution{public:intclimbStairs(intn){vectordp(n+1,0);dp[0]=1;for(inti=1;i=0)dp[i]+=dp[i-j];}}returndp[n];}};上述代码中的m换为2即是最大只能爬两步的时候
nightcood
·
2024-01-26 03:33
动态规划
算法
代码随想录|day45|
动态规划
part07● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数
总链接:第九章
动态规划
part0770.爬楼梯(进阶)链接:代码随想录classSolution{/*用完全背包的思路想.可以有多个物品(1、2)则完全背包12和21不同,故是排列问题。
isabelightL
·
2024-01-26 03:32
代码随想录
动态规划
算法
Day43
动态规划
part05 1049. 最后一块石头的重量 II 494. 目标和 474. 一和零
动态规划
part051049.最后一块石头的重量II494.目标和474.一和零1049.最后一块石头的重量II和416.分割等和子集很像,直接上代码:classSolution{public:intlastStoneWeightII
Alexander yaphets
·
2024-01-26 03:01
代码随想录刷题
动态规划
算法
leetcode
学习
数据结构
Day44
动态规划
part06 完全背包理论基础 518. 零钱兑换 II 377. 组合总和 Ⅳ
动态规划
part06完全背包理论基础518.零钱兑换II377.组合总和Ⅳ完全背包理论基础acm可运行代码(先遍历物品再遍历背包,一维dp)#include#includeusingnamespacestd
Alexander yaphets
·
2024-01-26 03:01
动态规划
算法
leetcode
c++
数据结构
Day42
动态规划
part04 01背包问题(二维法和一维法) 416.分割等和子集
动态规划
part0401背包问题(二维法和一维法)416.分割等和子集01背包问题二维法(acm可运行答案)#include#includeusingnamespacestd;intSolution(vector
Alexander yaphets
·
2024-01-26 03:30
代码随想录刷题
动态规划
算法
数据结构
leetcode
c++
Day45
动态规划
part07 70.爬楼梯(进阶) 322. 零钱兑换 279. 完全平方数
动态规划
part0770.爬楼梯(进阶)322.零钱兑换279.完全平方数70.爬楼梯(进阶)(题目链接点我)#include#includeusingnamespacestd;intmain(){intn
Alexander yaphets
·
2024-01-26 03:00
动态规划
算法
数据结构
leetcode
c++
常见算法思想:
动态规划
法
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析
动态规划
问题的分类求最大最小值从左上角走到右下角路径的最大数字和最长上升
smart哥
·
2024-01-26 00:51
数据结构与算法
算法
基本算法思想:递归+分治+
动态规划
+贪心+回溯+分支限界
作者:心叶时间:2018-05-0119:28本文对应github地址:https://github.com/yelloxing/...以上实现了常见算法的java、c语言、javascrpt(或node.js)、python3和go语言实现,持续更新中。下面针对一些基本的算法思想,给出大致的说明和用例。递归与分治策略分治法的基本思想把一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独
weixin_34122604
·
2024-01-26 00:51
数据结构与算法
java
c/c++
248.【2023年华为OD机试真题(C卷)】两个字符串间的最短路径问题(
动态规划
-Java&Python&C++&JS实现)
点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握!文章目录一.题目-两个字符串间的最短路径问题二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Java&Python&C++&JS分别讲解)
一见已难忘
·
2024-01-25 22:30
算法之翼—华为OD机试专栏
华为od
c语言
动态规划
两个字符串间的最短路径问题
java
python
javascript
算法训练营day49_
动态规划
算法训练营day49_
动态规划
121.买卖股票的最佳时机贪心左边大的没用;枚举每一天,更新ans,若小于买入,更新买入;classSolution{public:intmaxProfit(vector&
摘樱桃几百遍
·
2024-01-25 22:55
代码随想录打卡
算法
动态规划
leetcode
算法训练营Day52(
动态规划
13)
300.最长递增子序列力扣(LeetCode)官网-全球极客挚爱的技术成长平台提醒今天开始正式子序列系列,本题是比较简单的,感受感受一下子序列题目的思路。classSolution:deflengthOfLIS(self,nums:List[int])->int:iflen(nums)nums[j]:dp[i]=max(dp[i],dp[j]+1)result=max(result,dp[i])#
Best,
·
2024-01-25 22:25
动态规划
算法
算法训练营Day53(
动态规划
14)
1143.最长公共子序列力扣(LeetCode)官网-全球极客挚爱的技术成长平台提醒体会一下本题和718.最长重复子数组的区别classSolution:deflongestCommonSubsequence(self,text1:str,text2:str)->int:#创建一个二维数组dp,用于存储最长公共子序列的长度dp=[[0]*(len(text2)+1)for_inrange(len(
Best,
·
2024-01-25 22:25
动态规划
算法
算法训练营Day51(
动态规划
12)
309.最佳买卖股票时机含冷冻期力扣(LeetCode)官网-全球极客挚爱的技术成长平台提醒本题加了一个冷冻期,状态就多了,有点难度,要把各个状态分清,思路才能清晰注意初始化dp[0][0]、dp[0][1]、dp[0][2],dp[0][3,]如果这状态是非法状态,那就主要看递推公式需要把它初始化为多少classSolution:defmaxProfit(self,prices:List[int
Best,
·
2024-01-25 22:24
动态规划
算法
算法训练营Day48(
动态规划
9)
nums:List[int])->int:iflen(nums)==0:#如果没有房屋,返回0return0iflen(nums)==1:#如果只有一个房屋,返回其金额returnnums[0]#创建一个
动态规划
数组
Best,
·
2024-01-25 22:54
动态规划
算法
算法训练营Day50(
动态规划
11)
说明较难,二刷再仔细打代码123.买卖股票的最佳时机III力扣(LeetCode)官网-全球极客挚爱的技术成长平台提醒这道题一下子就难度上来了,关键在于至多买卖两次,这意味着可以买卖一次,可以买卖两次,也可以不买卖classSolution:defmaxProfit(self,prices:List[int])->int:iflen(prices)==0:return0dp=[[0]*5for_i
Best,
·
2024-01-25 22:24
动态规划
算法
【算法笔记】
动态规划
:最长递增子序列
Input109253710118Output4(因为2,3,7,101是最长的递增子序列)解题思路该问题满足最优子结构性质,因此可以使用
动态规划
求解。定义如下符号:表示问题序列的总长度。
w8ed
·
2024-01-25 19:23
【
动态规划
】【map】【C++算法】1289. 下降路径最小和 II
作者推荐视频算法专题本文涉及知识点
动态规划
汇总mapLeetCode1289.下降路径最小和II给你一个nxn整数矩阵grid,请你返回非零偏移下降路径数字和的最小值。
闻缺陷则喜何志丹
·
2024-01-25 18:15
#
算法题
动态规划
算法
C++
LeetCode
路径
图论
map
【
动态规划
】【字符串】【状态压缩】943 最短超级串
作者推荐【
动态规划
】【广度优先搜索】【状态压缩】847访问所有节点的最短路径本文涉及知识点
动态规划
汇总状态压缩字符串LeetCode943最短超级串给定一个字符串数组words,找到以words中每个字符串作为子字符串的最短字符串
闻缺陷则喜何志丹
·
2024-01-25 18:14
#
算法题
动态规划
算法
c++
LeetCode
字符串
状态压缩
最短
【
动态规划
】【字符串】【C++算法】940. 不同的子序列 II
作者推荐【
动态规划
】【广度优先搜索】【状态压缩】847访问所有节点的最短路径本文涉及知识点
动态规划
汇总LeetCode940.不同的子序列II给定一个字符串s,计算s的不同非空子序列的个数。
闻缺陷则喜何志丹
·
2024-01-25 18:44
#
算法题
算法
动态规划
c++
LeetCode
子序列
字符串
【字符串】【C++算法】828.统计子串中的唯一字符
作者推荐【
动态规划
】【map】【C++算法】1289.下降路径最小和II本文涉及知识点子数组(串)字符串LeetCoce828.统计子串中的唯一字符我们定义了一个函数countUniqueChars(s
闻缺陷则喜何志丹
·
2024-01-25 18:43
#
算法题
c++
算法
动态规划
LeetCode
字符串
唯一字符
子数组
LeetCode 1143. 最长公共子序列(C++)
题目地址:力扣题目难度:Medium涉及知识点:
动态规划
、字符串匹配分析:由于子序列不同于子串,子串必须要连续,而子序列可以不连续。
Xaiver_97
·
2024-01-25 15:20
力扣刷题
c++
leetcode
开发语言
LeetCode 1143.最长公共子序列
LeetCode1143.最长公共子序列
动态规划
确定dp数组及其下标的含义dp[i][j]:长度为**[0,i-1]的字符串text1与长度为[0,j-1]**的字符串text2的最长公共子序列为dp[
小名王能全
·
2024-01-25 15:20
刷题笔记
leetcode
动态规划
算法
贪心算法
最长公共子序列-
动态规划
(java)
最长公共子序列leetcode1143.最长公共子序列题目描述暴力递归解题思路代码演示
动态规划
解题思路代码演示
动态规划
专题leetcode1143.最长公共子序列leetcode1143.最长公共子序列来源
SP_1024
·
2024-01-25 15:50
算法
java
数据结构
java
动态规划
算法
leetcode
数据结构
Leetcode1143. 最长公共子序列
解题思路求两个数组或者字符串的最长公共子序列问题,肯定是要用
动态规划
的。下面的题解并不难,你肯定能看懂。
魑魅魍魉114
·
2024-01-25 15:49
动态规划
用4KB内存寻找重复元素(算法村第十五关青铜挑战)
而常规的递归、排序,回溯、贪心和
动态规划
等思想也无效,因为执行超时。这类问题该如何下手呢?这里介绍三种非常典型的思路:1.使用位存储。使用位存储最大的好处是占用的空间是简单存整数的1/8。
陈星泽SSR
·
2024-01-25 13:26
算法村
算法
java
数据库
贪心算法C++
求解最优化问题的算法很多,例如穷举、搜索、
动态规划
等。贪心法也是求解这类问题的一种常用方法1.贪心法的基本思想贪心法是从问题的某个初始解出发,采用逐步构造最优
zhou_QWQ
·
2024-01-25 11:54
算法
c++
贪心算法
力扣1218. 最长定差子序列
动态规划
思路:定义dp[v]是值为v结尾的最长等差子序列个数;状态转移方程为:v上一个序列值为v-d,即dp[v]=dp[v-d]+1;通过遍历序列,
动态规划
找到所有序列元素的最长等差数列的个数,结果为其中最大的值
slowfastflow
·
2024-01-25 11:23
力扣实践
leetcode
动态规划
算法
复现论文Seam carving for content-aware image resizing
ACMSIGGRAPH200,实现了考虑像素间差异化的缩放算法.该方法是通过计算图像能量来确定图像中重要的内容,再利用
动态规划
查找能量最小的像素线,通过不断删除或复制这些低能量线,从而实现图像的缩放。
Q_pril
·
2024-01-25 10:36
图像处理
计算机视觉
人工智能
剑指 Offer 10- I. 斐波那契数列
解题思路简单的
动态规划
问题f[n]=f[n-1]+f[n]
BitterOutsider
·
2024-01-25 07:23
力扣1027. 最长等差数列
动态规划
思路:可以参考力扣1218.最长定差子序列目前不清楚公差,可以将序列最大最小值找到,公差的范围是[-(max-min),(max-min)],按公差递增迭代遍历求出最长等差数列;classSolution
slowfastflow
·
2024-01-25 07:21
力扣实践
leetcode
算法
职场和发展
【算法】解决
动态规划
问题的通用步骤思路及示例算法:打家劫舍【
动态规划
】
动态规划
(DynamicProgramming,简称DP)是一种解决问题的算法设计技术,通常用于优化问题。它通过将问题分解为更小的子问题,并解决这些子问题,然后合并它们的解决方案来解决原始问题。
澄风
·
2024-01-25 07:00
算法
动态规划
java
LeetCode 2865 Beautiful Towers I
有点像
动态规划
。
AnillegalName
·
2024-01-24 22:36
leetcode
算法
动态规划
——炮兵回城【集训笔记】
题目描述游戏盘面是一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。游戏结束盘上只剩下一枚炮兵没有回到城池中,而兵棋恰好在盘面的左下角,它需要移动到右上角的城池中,游戏规定只能向上或向右移动,炮兵从左下角的方格中移动到右上角的方格中,每步移动一个方格。始终在方格矩阵内移动,请你计算出不同的移动
tiger_mushroom
·
2024-01-24 21:02
动态规划
算法
动态规划
——采矿的小奇【集训笔记】
题目描述假期小奇去采矿场体验生活,工头为每个员工发放了一个最多能装M公斤的背包,经过一天的辛苦小奇开采出了n块矿石,它们的重量分别是W1,W2,...,Wn,经过预估它们的价值分别为C1,C2,...,Cn,那么请你帮助小奇计算他能获得最大总价值是多少。输入第一行:两个整数,M(背包容量,M≤200)和N(矿石数量,N≤30);第2..N+1行:每行二个整数Wi,Ci,表示每块矿石的重量和价值。输
tiger_mushroom
·
2024-01-24 21:32
算法
数据结构
上海计算机学会12月月赛 丙组题解
上海计算机学会12月月赛丙组题解涉及知识点:数学、字符串、模拟、裴蜀定理、宽度优先搜索、
动态规划
比赛链接:https://iai.sh.cn/contest/58第一题:T1数砖数标签:数学题意:给定一种
超哥聊信奥
·
2024-01-24 20:19
上海计算机学会月赛题解
算法
c++
学习
数据结构
动态规划
算法训练营Day56(编辑距离)
583.两个字符串的删除操作本题和
动态规划
:115.不同的子序列相比,其实就是两个字符串都可以删除了,情况虽说复杂一些,但整体思路是不变的。
不吃青椒!
·
2024-01-24 20:25
算法
算法训练营 day59
动态规划
两个字符串的删除操作 编辑距离
算法训练营day59
动态规划
两个字符串的删除操作编辑距离两个字符串的删除操作583.两个字符串的删除操作-力扣(LeetCode)给定两个单词word1和word2,返回使得word1和word2相同所需的最小步数
还是选择了面包
·
2024-01-24 20:53
训练营
算法
动态规划
递归算法
常用于解决需要重复执行相似操作的问题,例如树、图等数据结构的遍历,以及分治、
动态规划
等算法。递归算法的基本思想是将大问题划分为一个或多个具有相同结构的子问题,并通过递归调用函数来解决这些子问题。
酷小洋
·
2024-01-24 17:03
算法
算法
java
开发语言
idea
排序算法
力扣62. 不同路径
动态规划
思路:定义dp[r][c]为到达坐标(r,c)的路径数:它只能有同一行左边相邻方格向右到达或者同一列上方相邻方格向下到达;状态转移方程:dp[r][c]=dp[r][c-1]+dp[r-1][c
slowfastflow
·
2024-01-24 15:03
力扣实践
leetcode
算法
职场和发展
力扣518. 零钱兑换 II
动态规划
思路:假设dp[i]为金额i使用零钱的组合数,其可以由其中的一种零钱coin和i-coin组合;遍历零钱数组,对每一种零钱coin进行如下操作:从coin到amount金额进行遍历,dp[j]=
slowfastflow
·
2024-01-24 15:03
力扣实践
leetcode
算法
职场和发展
力扣740. 删除并获得点数
动态规划
思路:选择元素x,获得其点数,删除x+1和x-1,则其他的x的点数也会被获得;可以将数组转换成一个有序map,key为x,value为对应所有x的和;则问题转换成了不能同时获得相邻两个房间的金币并能获得最大收益问题
slowfastflow
·
2024-01-24 15:32
力扣实践
leetcode
算法
职场和发展
力扣279. 完全平方数
动态规划
思路:假设dp[i]为最少组成数i的平方数个数;则其上一个状态为dp[i-j^2]+1,1为j^2:即i的最少完全平方数=i-j^2的最少完全平方数+1,其中j^2dp(n+1);dp[0]=0
slowfastflow
·
2024-01-24 15:31
力扣实践
leetcode
算法
职场和发展
斐波那契数列
最常见的是
动态规划
中的应用,例如最经典的上楼梯的例子,有N阶楼梯,一个小朋友上楼,他只能一次走一阶或者走两阶,问有多少种不同的
Wu杰语
·
2024-01-24 13:31
刷题 -----
动态规划
斐波那契数2.阶数博弈3.比特位计算4.传递信息5.连续天数的最高销售额(最大数组和)6.下载插件7.反转数位8.三步问题9.买股票的最佳时期10.按摩师(打家劫舍)下面就是leetcode上所有关于
动态规划
的简单题了
Layflok
·
2024-01-24 13:49
动态规划
算法
leetcode
c语言
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他