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_动态规划
剑指 Offer 14.剪绳子(
动态规划
、数学分析)
一、题目内容二、题目分析这道题目讲道理,我看到的第一眼就是
动态规划
,但是后来提交之后,发现还有大佬考虑用数学分析得出精简解法,在这里我也会一一阐述。
少๑渊
·
2023-09-25 05:00
动态规划
leetcode
算法
职场和发展
leetcode 剑指offer刷题归类之 二
动态规划
篇
最长公共子串1.给定两个字符串A和B,同时给定两串的长度n和m。测试样例:"1AB2345CD",9,"12345EF",7返回:4publicclassLongestSubstring{//最长公共子串要求是连续的publicintfindLongest(StringA,intn,StringB,intm){intmax=0;int[][]dp=newint[n][m];for(inti=0;i
茴香豆的茴有六种写法
·
2023-09-25 05:59
数据结构与算法
暴力递归转
动态规划
(五)
题目LeetCode原题我们有n种不同的贴纸。每个贴纸上都有一个小写的英文单词。您想要拼写出给定的字符串target,方法是从收集的贴纸中切割单个字母并重新排列它们。如果你愿意,你可以多次使用每个贴纸,每个贴纸的数量是无限的。返回你需要拼出target的最小贴纸数量。如果任务不可能,则返回-1。举个例子:字符target=“aaabc”,贴纸stickers={“aad”,“sk”,“eq”,“b
善良的Leexx
·
2023-09-24 23:31
算法
leetCode
动态规划
算法
java
暴力递归
暴力递归转
动态规划
(六)
题目LeetCode原题—最长公共子序列给定两个字符串text1和text2,返回这两个字符串的最长公共子序列的长度。如果不存在公共子序列,返回0。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace”是“abcde”的子序列,但“aec”不是“abcde”的子序列。两个字符串的公共子序列是这两个
善良的Leexx
·
2023-09-24 23:31
leetCode
算法
动态规划
算法
暴力递归
java
暴力递归转
动态规划
(七)
题目LeetCode原题-最长回文子序列给你一个字符串s,找出其中最长的回文子序列,并返回该序列的长度。子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。示例1:输入:s=“bbbab”输出:4解释:一个可能的最长回文子序列为“bbbb”。示例2:输入:s=“cbbd”输出:2解释:一个可能的最长回文子序列为“bb”。换句话说,就是删减完的字符串读出来左右两边
善良的Leexx
·
2023-09-24 23:56
算法
leetCode
动态规划
算法
java
暴力递归
代码随想录day45:
动态规划
part07:
1阶+1阶+1阶1阶+2阶2阶+1阶用普通的
动态规划
:dp[i]=dp[i-1]+dp[i-2];爬到第i阶楼梯,有爬一步方法
qq_45789731
·
2023-09-24 23:55
动态规划
算法
代码随想录day46
动态规划
part08
139.单词拆分判断一个单词能否用空格拆分为字典里的单词动规五部曲:1.dp[j]单词的前j个长度拆分出的单词是否都在字典里2.公式:if(j>=i&&dp[i]&&worddict.find(dp[j-i])!=end())dp[j]=true;3.初始化:dp[0]=true;dp[i]=false;4.遍历顺序:完全背包内嵌的for循环为正序;这是排列数所以外层背包内层物品classSolu
qq_45789731
·
2023-09-24 23:51
动态规划
算法
LeetCode 解题帖子没法只看“带图的”,制作带图的动图太复杂
提供二叉树/
动态规划
等常用的制图工具制作解题动图和视频是有一定门槛的,这往往就阻止了用户进行分享,他们可能会因为要画大量的图而不耐烦。而演示二叉树算
landmadename
·
2023-09-24 23:38
代码随想录总结
动态规划
可以说最折磨了,希望自己之后可以多深入学习吧。对了也准备学一学图论。
七人酒
·
2023-09-24 23:18
代码随想录算法训练营
算法
扰乱字符串(
动态规划
图解)
题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台解题思路:对于给定的两个字符串S和T。如果S和T的长度不相等,T肯定不是S的扰乱字符串。如果S和T的长度相等,则可以在某一个随机下标处进行分割,会将两个字符串S分割成两部分,同理,T也可以用两部分表示,如下如所示:字符串S被分割为S1和S2,字符串T被分割为T1和T2,此时可以分为两种情况:情况一:S1和S2没有交换,此时需要判断T
风之旅@
·
2023-09-24 22:26
LeetCode_Java版
动态规划
算法
大厂面试必备算法技能&力扣刷题技巧
说到算法,离不开数据结构:常⽤的数据结构:字符串、数组、链表、树(如⼆叉树)等;常⽤的算法:分治、贪⼼、穷举、
动态规划
、回溯、⼆分算法、深度优先搜索等盲目刷题,没有任何效果,在理解算法的基础上再去有针对性的刷题
翱翔的赖思
·
2023-09-24 21:10
数据结构与算法
算法
数据结构
面试
【Acwing1027】方格取数(
动态规划
)题解
题目描述思路分析错误思路:贪心法,先走一次求出最大值,把走过的路上面的数值清零,然后用同样的方法再走一遍求最大值,然后让这两个最大值相加就是最后的结果。很多人在看到这个题目的时候会有上面的思路,但实践告诉我们,有些数据用上述思路答案是错误的,这是为什么呢?原因很简单:假设第一次走的时候,有多条路径s1,s2,......可以得到最大值,我们并不知道要选择哪一条,也就是说我们并不知道要把哪一条路上面
亿维数组
·
2023-09-24 21:51
算法综合
Acwing
动态规划
算法
c++
acwing
优化模型之指派问题(整数规划)
一、前言 优化模型主要有线性规划、非线性规划、
动态规划
和整数规划。
很随便的wei
·
2023-09-24 16:19
数学建模
怒刷LeetCode的第13天(Java版)
目录第一题题目来源题目内容解决方法方法一:滑动窗口方法二:哈希表和双指针方法三:
动态规划
第二题题目来源题目内容解决方法方法一:深度优先搜索(DFS)方法二:树结构第三题题目来源题目内容解决方法方法一:遍历交换方法二
世俗ˊ
·
2023-09-24 16:44
LeetCode算法
leetcode
算法
职场和发展
怒刷LeetCode的第14天(Java版)
目录第一题题目来源题目内容解决方法方法一:
动态规划
方法二:栈方法三:双指针第二题题目来源题目内容解决方法方法一:二分查找方法二:线性扫描方法三:递归第三题题目来源题目内容解决方法方法一:二分查找方法二:
世俗ˊ
·
2023-09-24 16:44
LeetCode算法
leetcode
算法
职场和发展
怒刷LeetCode的第3天(Java版)
目录第一题题目来源题目内容解决方法方法一:
动态规划
第二题题目来源题目内容解决方法方法一:模拟方法二:数学规律方法三:分组第三题题目来源题目内容解决方法方法一:数学方法方法二:转换字符串第一题题目来源213
世俗ˊ
·
2023-09-24 16:10
LeetCode算法
leetcode
算法
职场和发展
动态规划
之编辑距离总结篇体会到carl的用心良苦
392.判断子序列给定字符串s和t,判断s是否为t的子序列。这道题可以用双指针也可以用动规,关于动规:当s[i-1]与t[j-1]相等时,dp[i][j]=dp[i-1][j-1]+1;当s[i-1]和t[j-1]不相等时,相当于t要删除元素,继续匹配,所以dp[i][j]=dp[i][[j-1]115.不同的子序列给定一个字符串s和一个字符串t,统计并返回在s的子序列中t出现的个数,本题也只有删
醒醒起来学习
·
2023-09-24 15:28
算法训练营
动态规划
算法
代码随想录算法训练营
动态规划
part08
一、打家劫舍198.打家劫舍-力扣(LeetCode)设
动态规划
列表dp,dp[i]代表前i个房子在满足条件下的能偷窃到的最高金额。
阿玛兰妲。
·
2023-09-24 14:47
动态规划
算法
Reinforcement Learning - Chapter 5
MonteCarloMethods理论上
动态规划
算法是没有问题的,但实践中却发现它的应用具有很大的限制,这源自于它本身的理论架构。1、
动态规划
算法用于求解基于模型的MDP问题。
WangChen100
·
2023-09-24 13:13
[LeetCode111双周赛&LeetCode359周赛] DP&双指针
space.bilibili.com/2062147006.销售利润最大化https://leetcode.cn/problems/maximize-the-profit-as-the-salesman/Solution
动态规划
哇咔咔负负得正
·
2023-09-24 13:35
算法
leetcode
算法
【LeetCode热题100】--53.最大子数组和
53.最大子数组和使用
动态规划
:状态定义:设
动态规划
列表dp,dp[i]代表以元素nums[i]为结尾的连续子数组最大和转移方程:若dp[i-1]≤0,说明dp[i-1]对dp[i]产生负贡献,即dp[
小d<>
·
2023-09-24 13:02
LeetCode
leetcode
算法
【LeetCode75】第六十三题 不同路径
这个算是简单的二维
动态规划
题了。我们先搞清楚一个问题,我们走到某个格子有几种方法,由于我们只能往下走或是往右走,所以我们只能从上方或是左方走来。
折途
·
2023-09-24 12:07
LeetCode75题解
算法
leetcode
动态规划
c++
数据结构
LeetCode-打家劫舍(
动态规划
)
题目链接=>戳这里题目截图解法classSolution{publicintrob(int[]nums){intlen=nums.length;if(len==0){return0;}int[]dp=newint[len+1];dp[0]=0;dp[1]=nums[0];for(inti=2;i<=len;i++){dp[i]=Math.max(dp[i-2]+nums[i-1],dp[i-1])
沙漠小舟
·
2023-09-24 11:47
01背包问题——c
文章目录问题描述蛮力法——穷举查找穷举查找解决背包问题的大致思路样例图解分析
动态规划
递推公式样例求解图解关于选取的哪几个c语言代码回溯回溯的一般过程样例图解c语言代码问题描述给定n个重量为w1,w2,w3
@玉面小蛟龙
·
2023-09-24 10:09
练题杂记
动态规划
最长公共子序列
文章目录子序列最长公共子序列
动态规划
求最长公共子序列的长度递推公式样例过程图解c语言代码:子序列从一个序列A中任意删除若干项,剩余的序列叫做A的一个子序列。
@玉面小蛟龙
·
2023-09-24 10:09
练题杂记
动态规划
币值最大化——
动态规划
,回溯
#includeintnum,max;voidCoinRow(intc[],intf[],intn)//回溯{inti;if(n>num){if(f[num]>f[num-1])printf("%d",f[num]);elseprintf("%d",f[num-1]);printf("\n");return;}else{if(c[n]+f[n-2]>f[n-1]){f[n]=c[n]+f[n-2]
@玉面小蛟龙
·
2023-09-24 10:39
练题杂记
c语言
python实现leetcode之45. 跳跃游戏 II
解题思路
动态规划
:对每一块石头,将能够到达的所有点都标记跳跃次数第一次标记到最后一块石头时返回,跳跃次数最少45.跳跃游戏II代码classSolution:defjump(self,nums:List
深圳都这么冷
·
2023-09-24 08:58
力扣213打家劫舍2(简单
动态规划
)
题目描述:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,今晚能够偷窃到的最高金额。示例1:输入:nums=[2,3,2]输出:3解释:
失眠的稻草人259
·
2023-09-24 08:06
力扣刷题
leetcode
动态规划
算法
Code算法
目录1.题记2.题型分类滑动窗递归分治回溯:剪枝:
动态规划
DP⭐(dynamicplanning)背包问题:树的算法1.广度优先搜索BFS2.深度优先搜索DFS3.二叉搜索树BST4.前缀树(字典树)Trie
Godzilla℃
·
2023-09-24 03:27
算法
python
LeetCode 第 59 场力扣夜喵双周赛(最短路径数+迪杰斯特拉、
动态规划
+最长公共前缀问题) / 第255场周赛(二进制转换,分组背包,子集还原数组(脑筋急转弯))
第59场力扣夜喵双周赛两道400多五百,后两道都写出代码来了,但是都有问题,哭辽…还有刚开始第一道测试好慢,搞心态了5834.使用特殊打字机键入单词的最少时间有一个特殊打字机,它由一个圆盘和一个指针组成,圆盘上标有小写英文字母‘a’到‘z’。只有当指针指向某个字母时,它才能被键入。指针初始时指向字符‘a’。每一秒钟,你可以执行以下操作之一:将指针顺时针或者逆时针移动一个字符。键入指针当前指向的字符
Zephyr丶J
·
2023-09-24 01:50
LeetCode
周赛
java
leetcode
代码随想录算法训练营Day56 |
动态规划
(16/17) LeetCode 583. 两个字符串的删除操作 72. 编辑距离
动态规划
马上来到尾声了,当时还觉得
动态规划
内容很多,但是也这么过来了。
Scouser_H
·
2023-09-24 01:13
LeetCode
算法
动态规划
leetcode
代码随想录算法训练营Day53 |
动态规划
(14/17) LeetCode 1143.最长公共子序列 1035.不相交的线
继续练习子序列的问题第一题1143.LongestCommonSubsequenceGiventwostringstext1andtext2,returnthelengthoftheirlongestcommonsubsequence.Ifthereisnocommonsubsequence,return0.Asubsequenceofastringisanewstringgeneratedfro
Scouser_H
·
2023-09-24 01:43
LeetCode
动态规划
leetcode
算法
代码随想录算法训练营Day55 (Day 54休息) |
动态规划
(15/17) LeetCode 392.判断子序列 115.不同的子序列
继续子序列的练习!第一题392.IsSubsequenceGiventwostringssandt,returntrueifsisasubsequenceoft,orfalseotherwise.Asubsequenceofastringisanewstringthatisformedfromtheoriginalstringbydeletingsome(canbenone)ofthecharac
Scouser_H
·
2023-09-24 01:43
LeetCode
动态规划
算法
代码随想录算法训练营Day57 |
动态规划
(17/17) LeetCode 647. 回文子串 516.最长回文子序列
今天是
动态规划
练习的最后一天了,代码随想录的60天刷题也来到尾声了!
Scouser_H
·
2023-09-24 01:41
LeetCode
算法
动态规划
leetcode
代码随想录算法训练营第45天 |
动态规划
part07 ● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数
#70爬楼梯,用完全背包再做一次:物品数组{1,2}就不用专门弄数组了,就forloopi++就行intclimbStairs(intn){vectordp(n+1,0);dp[0]=1;for(inti=1;i=0)dp[i]+=dp[i-j];}}returndp[n];}自己写的时候本来想为step创个数组,联想到数组不太记得了,补充一下数组知识:#322.零钱兑换自己几分钟基本快写出来了,
weixin_51674457
·
2023-09-24 00:31
代码随想录一刷
算法
动态规划
c++
leetcode
代码随想录训练营Day46
动态规划
part08|139.单词拆分|多重背包| 背包问题总结篇
139.单词拆分dp数组含义,i表示字符串长度,dp[i]表示是否可以拆分(布尔类型)递推公式:如果j到i的字符串出现在词典里面,并且dp[j]==true,dp[i]=true,或者原本为true也为true,dp[i-1+num]=dp[i-1]||dp[i-1+num]是一个或的关系初始化:空字符串时dp[0]=true,非零时初始化为falsestringword=s.substr(j,i
古德猫宁已存在
·
2023-09-24 00:31
动态规划
算法
数据结构
leetcode
c++
代码随想录算法训练营第44天|
动态规划
part06
8.10周四完全背包518.零钱兑换II377.组合总和Ⅳ详细布置完全背包完全背包就是每个物品可以无限次使用,所以便利背包时改为从前往后遍历;同时两层循环可以换顺序。518.零钱兑换II题目:有一个零钱数组coins,一个目标值target,用零钱凑出target,问有多少种组合数题解:1、和01背包的区别就是遍历背包时从前往后,这样物品可以重复。2、只能先遍历物品,再遍历背包,因为求的是组合数,
ziyego
·
2023-09-24 00:31
算法
动态规划
代码随想录算法训练营第44天 |
动态规划
part06 ● 完全背包 ● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ
#完全背包他的遍历顺序让我又回顾了01背包的遍历顺序,发现自己还是没搞清。于是这回又仔细想想。对于1d的01背包,保证每个物品只考虑一次的两个要点:1.背包容量从大到小2.物品外层,背包容量内层对于1(物品外层时),如果是从小到大:要计算dp[j]=max(dp[j-w[i]]...)使用的dp[j-w[i]]已经是更新过的了,就是比如要计算容量为7的时候,要通过考虑容量为3的时候的最大value
weixin_51674457
·
2023-09-24 00:30
代码随想录一刷
算法
动态规划
leetcode
c++
代码随想录算法训练营第38天 |
动态规划
part01 ●理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯
理论基础有很多重叠子问题1.dp:一个状态由上一个状态推导出来2.贪心:每次取局部最优(状态间没有关联)贪心解决不了dp的问题(?但有的题目都可以用啊动规五部曲动规五部曲leetcode上的题目都是01背包的应用,而没有纯01背包的问题#509fib普通递归:intfib(intn){if(ndp(n+1);dp[0]=0;dp[1]=1;for(inti=2;in)return;//1backt
weixin_51674457
·
2023-09-24 00:00
代码随想录一刷
算法
动态规划
leetcode
c++
代码随想录算法训练营第42天 |
动态规划
part04 ● 背包问题二维● 背包问题&滚动数组 一维 ● 416. 分割等和子集
#二维dp数组,01背包1.确定dp数组以及下标的含义dp[i][j]表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。2.gpt解决我的困惑3.另外:当j=weight[0]时,dp[0][j]应该是value[0],因为背包容量放足够放编号0物品。所以初始化总共有两部分(第一列,第一行)其他格子值无所谓,反正每个格子是通过左上得出来4.遍历顺序也很重要。会是有的题目
weixin_51674457
·
2023-09-24 00:00
代码随想录一刷
算法
动态规划
leetcode
c++
代码随想录算法训练营第44天 |
动态规划
part06:完全背包、518. 零钱兑换 II、377. 组合总和 Ⅳ。
力扣上没有纯粹的完全背包的题目,所以大家看本篇了解一下完全背包的理论。后面的两道题目,都是完全背包的应用,做做感受一下。完全背包视频讲解:https://programmercarl.com/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8
Xjy xxxpy
·
2023-09-24 00:29
代码随想录
一刷
算法
动态规划
代码随想录算法训练营20期|第四十二天|
动态规划
part04|01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集
01背包问题,你该了解这些!dp[i][j]代表了从下标为[0,i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。不放物品i:由dp[i-1][j]推出,即背包容量为j,里面不放物品i的最大价值,此时dp[i][j]=dp[i-1][j],因为没有放i,背包价值和前面相同放物品i:由dp[i-1][j-weight[i]]推出,dp[i-1][j-weight[i]]为背包容量为j-we
2301_78266314
·
2023-09-24 00:29
代码随想录二刷
算法
动态规划
代码随想录算法训练营20期|第四十三天|
动态规划
part05|1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零
1049.最后一块石头的重量IIclassSolution{publicintlastStoneWeightII(int[]stones){intsum=0;for(ints:stones){sum+=s;}inttarget=sum/2;int[][]dp=newint[stones.length][target+1];for(intj=stones[0];j=stones[i]){dp[i][
2301_78266314
·
2023-09-24 00:29
代码随想录二刷
算法
动态规划
代码随想录算法训练营20期|第四十四天|
动态规划
part06|● 完全背包● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ
完全背包518.零钱兑换IIclassSolution{publicintchange(intamount,int[]coins){int[]dp=newint[amount+1];dp[0]=1;for(inti=0;i=nums[j]){dp[i]+=dp[i-nums[j]];}}}returndp[target];}}
2301_78266314
·
2023-09-24 00:29
代码随想录二刷
动态规划
算法
代码随想录算法训练营20期|第四十五天|
动态规划
part07|● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数
70.爬楼梯(进阶)classSolution{publicintclimbStairs(intn){int[]dp=newint[n+1];dp[0]=1;dp[1]=1;for(inti=2;i<=n;i++){dp[i]=dp[i-1]+dp[i-2];}returndp[n];}}322.零钱兑换classSolution{publicintcoinChange(int[]coins,in
2301_78266314
·
2023-09-24 00:29
代码随想录二刷
动态规划
算法
代码随想录算法训练营第四十四天|
动态规划
part06|完全背包● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ
完全背包物品可以重复for(inti=0;i=nums[j]){dp[i]+=dp[i-nums[j]];}}}returndp[target];}}
2301_78266314
·
2023-09-24 00:58
代码随想录算法训练营
算法
动态规划
代码随想录算法训练营20期|第四十六天|
动态规划
part08|● 139.单词拆分 ● 关于多重背包,你该了解这些! ● 背包问题总结篇!
139.单词拆分感觉这个板块要重新刷,完全没有印象classSolution{publicbooleanwordBreak(Strings,ListwordDict){Setset=newHashSet<>(wordDict);boolean[]dp=newboolean[s.length()+1];dp[0]=true;for(inti=1;i<=s.length();i++){for(intj
2301_78266314
·
2023-09-24 00:27
代码随想录二刷
算法
动态规划
Killing LeetCode 题目集锦
KillingCodeSharingSeries/ClickHereRightNow持续更新…KillingLeetCode第六弹publishdate:2023-09-15本期涉及的算法类型是回溯算法,
动态规划
VivienneW_w
·
2023-09-23 23:01
leetcode
算法
数据结构
回文子串,516.最长回文子序列,
动态规划
总结篇
647.回文子串文章链接|题目链接|视频链接C++解法classSolution{public:intcountSubstrings(strings){vector>dp(s.size(),vector(s.size(),false));intresult=0;for(inti=s.size()-1;i>=0;i--){for(intj=i;jint:dp=[[False]*len(s)for_i
zxqbsa
·
2023-09-23 22:16
代码随想录刷题训练营
算法
动态规划
代码随想录算法训练营 Day 57 | 647.回文子串,516.最长回文子序列,
动态规划
总结篇
647.回文子串讲解链接:代码随想录-647.回文子串
动态规划
解法publicintcountSubstrings(Strings){if(s==null||s.length()=0;i--){for(
丢硬币的御坂美琴
·
2023-09-23 22:09
算法
动态规划
上一页
83
84
85
86
87
88
89
90
下一页
按字母分类:
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
其他