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
LQB算法训练
代码随想录
算法训练
营第23期day43|518. 零钱兑换II、377. 组合总和Ⅳ
目录一、(leetcode518)零钱兑换II二、(leetcode377)组合总和Ⅳ完全背包问题和01背包在描述上的区别是:完全背包中的物品可以被无限使用;在代码上的区别是:遍历顺序中都是从小到大遍历,需要注意内外层的嵌套顺序要根据题目适时调整。一、(leetcode518)零钱兑换II力扣题目链接状态:查看思路后AC。classSolution{public: intchange(intam
weixin_42179093
·
2023-11-07 08:32
代码随想录二刷
算法
代码随想录
算法训练
营第23期day41|01背包问题、01背包问题——滚动数组、416. 分割等和子集
目录一、01背包理论基础1.二维dp数组01背包1)确定dp数组以及下标的含义2)确定递推公式3)dp数组如何初始化4)确定遍历顺序5)举例推导dp数组2.一维dp数组(滚动数组)1)确定dp数组的定义2)一维dp数组的递推公式3)一维dp数组如何初始化4)一维dp数组遍历顺序5)举例推导dp数组二、(leetcode416)分割等和子集一、01背包理论基础有n件物品和一个最多能背重量为w的背包。
weixin_42179093
·
2023-11-07 08:02
代码随想录二刷
算法
代码随想录
算法训练
营第23期day38|动态规划理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
目录一、动态规划理论基础1.动态规划的解题步骤2.动态规划应该如何debug二、(leetcode509)斐波那契数1.递归解法2.动态规划1)确定dp数组以及下标的含义2)确定递推公式3)dp数组如何初始化4)确定遍历顺序5)举例推导dp数组三、(leetcode70)爬楼梯四、(leetcode746)使用最小花费爬楼梯1.新题目描述2.原题目描述一、动态规划理论基础动态规划,英文:Dynam
weixin_42179093
·
2023-11-07 08:26
代码随想录二刷
算法
leetcode
数据结构
代码随想录
算法训练
营第四十三天丨 动态规划part06
518.零钱兑换II思路这是一道典型的背包问题,一看到钱币数量不限,就知道这是一个完全背包。对完全背包还不了解的同学,可以看这篇:动态规划:关于完全背包,你该了解这些!(opensnewwindow)但本题和纯完全背包不一样,纯完全背包是凑成背包最大价值是多少,而本题是要求凑成总金额的物品组合个数!注意题目描述中是凑成总金额的硬币组合数,为什么强调是组合数呢?例如示例一:5=2+2+15=2+1+
叫一只啦啦
·
2023-11-06 20:50
代码随想录算法训练营
动态规划
代码随想录
算法训练
营第四十一天丨 动态规划part04
01背包理论基础见连接:代码随想录416.分割等和子集思路01背包问题背包问题,大家都知道,有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。背包问题有多种背包方式,常见的有:01背包、完全背包、多重背包、分组背包和混合背包等等。要注意题目描述中商品是不是可以重复放入。即一个商品
叫一只啦啦
·
2023-11-06 20:20
代码随想录算法训练营
算法
动态规划
代码随想录
算法训练
营第四十二天丨 动态规划part05
1049.最后一块石头的重量II思路本题其实就是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题了。感觉和昨天讲解的416.分割等和子集(opensnewwindow)非常像了。本题物品的重量为stones[i],物品的价值也为stones[i]。对应着01背包里的物品重量weight[i]和物品价值value[i]。接下来进行动规五步曲:确定dp数组以及下标的含义d
叫一只啦啦
·
2023-11-06 20:20
代码随想录算法训练营
算法
动态规划
代码随想录
算法训练
营第四十四天丨 动态规划part07
70.爬楼梯思路这次讲到了背包问题这道题目我们在动态规划:爬楼梯(opensnewwindow)中已经讲过一次了,原题其实是一道简单动规的题目。既然这么简单为什么还要讲呢,其实本题稍加改动就是一道面试好题。改为:一步一个台阶,两个台阶,三个台阶,.......,直到m个台阶。问有多少种不同的方法可以爬到楼顶呢?1阶,2阶,....m阶就是物品,楼顶就是背包。每一阶可以重复使用,例如跳了1阶,还可以
叫一只啦啦
·
2023-11-06 20:14
代码随想录算法训练营
算法
动态规划
代码随想录
算法训练
营-day56-583. 两个字符串的删除操作、72.编辑距离
583.两个字符串的删除操作学习文章链接:思路:初始化要注意。代码:classSolution{publicintminDistance(Stringword1,Stringword2){intlen1=word1.length();intlen2=word2.length();int[][]dp=newint[len1+1][len2+1];for(inti=0;i<=len1;i++)dp[i
依旧1919
·
2023-11-06 16:18
代码随想录算法训练营
算法
【
算法训练
营】最近公共祖先+求最大连续bit数
算法1.最近公共祖先求最大连续bit数1.最近公共祖先题目链接【题目解析】:最近公共祖先表示距离两个节点最近的公共父节点,这道题考察二叉树。【解题思路】:题目所描述的满二叉树如下:1/\23/\/\4567上述树中子节点与父节点之间的关系为root=child/2所以如果a!=b,就让其中的较大数除以2,如此循环直到a==b即是原来两个数的最近公共祖先比如:2和7的最近公共祖先:7/2=3—>3/
X.Dragon
·
2023-11-06 11:53
算法题解
算法
代码随想录
算法训练
营第六十一天 | 503.下一个更大元素II & 42. 接雨水
1.下一个更大元素II503.下一个更大元素II-力扣(LeetCode)循环数组,就可以遍历两遍,i对数组长度取余即可表示第二遍的真实下标其余的一样,维护一个单调递减(等于)的栈即可classSolution{publicint[]nextGreaterElements(int[]nums){Stackstack=newStacknums[stack.peek()]){next[stack.pe
Widom_
·
2023-11-06 09:45
算法
数据结构
java
代码随想录
算法训练
营第五十九天| 第十章 单调栈:503.下一个更大元素II,42.接雨水(python)
目录503.下一个更大元素II42.接雨水503.下一个更大元素II文字讲解链接classSolution:defnextGreaterElements(self,nums:List[int])->List[int]:n=len(nums)dp=[-1]*nstack=[]foriinrange(n*2):while(len(stack)!=0andnums[i%n]>nums[stack[-1]
本小猫
·
2023-11-06 09:44
算法
leetcode
python
代码随想录
算法训练
营第六十一天| LeetCode 503下一个更大元素II、LeetCode 42 接雨水
1LeetCode503下一个更大元素II题目链接:LeetCode503下一个更大元素II文章讲解:代码随想录(programmercarl.com)视频讲解:单调栈,成环了可怎么办?LeetCode:503.下一个更大元素II2LeetCode42接雨水题目链接:LeetCode42接雨水文章讲解:代码随想录(programmercarl.com)视频讲解:单调栈,经典来袭!LeetCode:
望仁啊
·
2023-11-06 09:06
代码随想录算法刷题
算法
leetcode
职场和发展
代码随想录
算法训练
营第五十九天|LeetCode503. 下一个更大元素 II、LeetCode42. 接雨水
一、LeetCode503.下一个更大元素II题目链接:503.下一个更大元素IIclassSolution{public:vectornextGreaterElements(vector&nums){vectoranswer(nums.size(),-1);if(nums.size()==0)returnanswer;stackst;for(inti=0;inums[st.top()]){ans
旧事情稠
·
2023-11-06 09:03
C++算法题解
算法
leetcode
动态规划
算法训练
求先序排列
资源限制时间限制:1.0s内存限制:256.0MB问题描述给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度0){f(mid.substring(0,middle),end.substring(0,middle));}if(middle
璐画
·
2023-11-05 14:36
蓝桥杯
算法
蓝桥杯
算法训练
求先序排列(递归 ,蓝桥杯C++,简洁算法、代码)
算法训练
求先序排列资源限制时间限制:1.0s内存限制:256.0MB问题描述给出一棵二叉树的中序与后序排列。求出它的先序排列。
朱小崐
·
2023-11-05 14:04
蓝桥杯
算法
字符串
二叉树
数据结构
算法训练
DAY 4|力扣24.两两交换链表中的结点&&力扣19.删除链表的倒数第N个结点&&力扣面试题02.07.链表相交&&力扣142.环形链表
24.两两交换链表中的结点原题链接:力扣24.两两交换链表中的结点题目描述给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1]提示:链表中节点的数目在范围[0,100]内0n
无心厌
·
2023-11-05 11:49
算法
java
c语言
代码随想录
算法训练
营第59天 | 503.下一个更大元素 II + 42.接雨水
今日任务目录503.下一个更大元素II-Medium42.接雨水-Hard503.下一个更大元素II-Medium题目链接:力扣-503.下一个更大元素II给定一个循环数组nums(nums[nums.length-1]的下一个元素是nums[0]),返回nums中每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一
HY.YUE
·
2023-11-05 07:29
LeetCode
leetcode
python
栈
【代码随想录】
算法训练
计划10
1、232.用栈实现队列题目:实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()从队列的开头移除并返回元素intpeek()返回队列开头的元素booleanempty()如果队列为空,返回true;否则,返回false思路:双栈模拟法,注意拿的是栈顶元素,拿完更新长度//代码一刷,很多细节需要注意typeMyQueuestruct{stackIn[]intst
不之道
·
2023-11-05 07:23
代码随想录
算法
代码随想录
算法训练
营20期|第六十二天|单调栈part02|● 503.下一个更大元素II ● 42. 接雨水
503.下一个更大元素IIclassSolution{publicint[]nextGreaterElements(int[]nums){if(nums==null||nums.lengthstack=newStacknums[stack.peek()]){res[stack.peek()]=nums[i%size];stack.pop();}stack.push(i%size);}returnr
2301_78266314
·
2023-11-05 07:53
代码随想录二刷
算法
java
数据结构
【代码随想录】
算法训练
计划11
1、20.有效的括号题目:给定一个只包括‘(’,‘)’,‘{’,‘}’,‘[’,‘]’的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。思路:注意forrange的v和s[i]类型是不同的即可funcisValid(sstring)bool{//代码一刷map1:=map[rune]rune{'
不之道
·
2023-11-05 07:51
代码随想录
算法
代码随想录
算法训练
营第11天 | 20.有效的括号 + 1047.删除字符串中的所有相邻重复项 + 150.逆波兰表达式求值
目录今日任务:20.有效的括号str.replace()栈:编辑1047.删除字符串中的所有相邻重复项150.逆波兰表达式求值今日任务:20.有效的括号1047.删除字符串中的所有相邻重复项150.逆波兰表达式求值20.有效的括号题目链接:20.有效的括号-力扣(LeetCode)分析:括号匹配是使用栈解决的经典问题str.replace()classSolution:defisValid(sel
FITA泽玥
·
2023-11-05 00:17
代码
算法
代码随想录
算法训练
营第十一天|20.有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
目录LeeCode20.有效的括号LeeCode1047.删除字符串中的所有相邻重复项LeeCode150.逆波兰表达式求值LeeCode20.有效的括号力扣题目链接思路:利用栈先进后出的特性,将左括号对应的右括号存在栈中,当遇到右括号时入栈,比较当前元素与栈顶元素是否一致,即可判断括号是否匹配。classSolution{public:boolisValid(strings){//s长度为奇数,
禹泽.
·
2023-11-05 00:46
LeeCode刷题
leetcode
c++
数据结构
代码随想录
算法训练
营第11天 | 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
20.有效的括号classSolution{public:boolisValid(strings){stackst;if(s.size()%2!=0)returnfalse;for(inti=0;i&tokens){stackresult;for(inti=0;i
吱吱吱·
·
2023-11-05 00:46
算法
数据结构
算法随想录
算法训练
营第十天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
20.有效的括号20.有效的括号题目描述:给定一个只包括‘(’,‘)’,‘{’,‘}’,‘[’,‘]’的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。解题思路:分析不匹配的情况第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以returnfalse第二种情况
kklin__
·
2023-11-05 00:16
算法
数据结构
javascript
代码随想录
算法训练
营第十一天|20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
一、20.有效的括号题目:给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1:输入:"()"输出:true示例2:输入:"()[]{}"输出:true示例3:输入:"(]"输出:false示例4:输入:"([)]"输出:false示例5:输
Aria_记录
·
2023-11-05 00:16
java
代码随想录
算法训练
营第11天|20.有效括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
20有效的括号题目链接:20有效的括号题目描述:给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。解题思路:肯定是使用栈对于有效的括号,肯定是成双成对的,因此对于单数长度的S字符串,肯定不满足条件。classSolution{publi
Kkkkkeung
·
2023-11-05 00:46
算法
leetcode
职场和发展
代码随想录
算法训练
营第11天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
20.ValidParentheses经典的栈问题遇到左侧符号则向栈中添加遇到右侧符合则检测栈顶元素,如果是配对符号,则弹出栈顶元素,否则returnFalse如果最后栈为空(长度为0),则returnTrue,否则FalseclassSolution(object):defisValid(self,s):iflen(s)==0:returnTruestack=[]forcins:ifc=='('
nossj
·
2023-11-05 00:45
代码随想录算法训练营第二期
算法
职场和发展
代码随想录
算法训练
营第十一天|20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
20.有效的括号思路:分多左括号、多右括号、左右括号不匹配三种情况处理注意:遍历到左括号的时候,右括号进栈;剪枝-括号数量为奇数时1047.删除字符串中的所有相邻重复项思路:使用字符串作为栈,遍历字符,若与栈顶元素相同则消除150.逆波兰表达式求值思路:遍历字符串,遇到数字则存入栈,遇到运算符则取出两个数字进行运算注意:两个数字的顺序不能弄反;string用双引号,char用单引号
m0_58067179
·
2023-11-05 00:15
c++
算法训练
营第九天 | 字符串:总结篇
文章目录力扣|344反转字符串力扣|514反转字符串||剑指offer05.替换空格力扣|151.翻转字符串中的单词剑指offer58-||.左旋转字符串一、344反转字符串:344.反转字符串-力扣(LeetCode)整体思路:双指针思想,前后两个指针,同时向中间靠拢(两两交换对应的值,后再同时移动)。解决方案:voidreverseString(vector&s){intleft=0;intr
零二年的冬
·
2023-11-05 00:15
算法训练
算法
c++
c语言
代码随想录
算法训练
营第十天 | 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
20.有效的括号文档讲解:代码随想录(programmercarl.com)视频讲解:栈的拿手好戏!|LeetCode:20.有效的括号_哔哩哔哩_bilibili状态:没做出来其实这个题目的描述是很模糊的,这就需要去仔细地想各种不匹配的情况,并且总结出规律,对刚刚接触这个题目的人来说并不是那么友好。看了视频之后,总结出其实不匹配的情况就三种,用语言总结其实就两种:1.左右括号数量不匹配2.相邻括
ryansssss
·
2023-11-05 00:15
算法
代码随想录
算法训练
营第十一天|20.有效括号、1047.删除字符串中的所有相邻重复项、150.逆波兰表达式
20.有效括号20.有效括号代码随想录(programmercral.com)栈的拿手好戏!|LeetCode:20.有效的括号思路使用栈,依次扫描字符串,碰到左括号就入栈,碰到右括号就与栈顶元素匹配,如果匹配,那么就继续扫描,如果不匹配,那么直接返回false,如果扫描到右括号,但是栈为空,则匹配失败,如果扫描完字符串,栈仍然不为空,那么匹配失败,如果扫描完字符串,而且栈为空,匹配成功,代码实现
skchendj
·
2023-11-05 00:13
算法
笔记
数据结构
代码随想录
算法训练
营第十一天|20. 有效的括号 1047. 删除字符串中的所有相邻重复150. 逆波兰表达式求值
题目链接:20.有效的括号这道题有一些技巧,在匹配左括号的时候,右括号先入栈,就只需要比较当前元素和栈顶相不相等就可以了,字符串遍历完之后,栈是空的,就说明全都匹配了。代码如下:classSolution{public:boolisValid(strings){stackst;if(st.size()%2!=0)returnfalse;for(inti=0;i0&&letter==s[slow-1
Cynic_TianLiang
·
2023-11-05 00:13
代码随想录
算法
leetcode
c++
代码随想录
算法训练
营第十一天 | 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
20.Valid-parentheses思路用stack遇到左边的就存进去,右边的pop出来,看等不等于,最后len==0在stack内直接存入对应的右边的符号defisValid(self,s:str)->bool:ifsisNoneorlen(s)==0:returnTrueiflen(s)==1:returnFalsestack=[]forsignins:ifsign=="(":stack.
AGiaooo
·
2023-11-05 00:41
算法
java
数据结构
代码随想录
算法训练
营第十一天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
对称匹配之后消除20.有效的括号这道题我的思想是是左括号就push进去,右括号就pop出来再匹配看看,(这块和大多数题解不太一样,他们都是用peek先看一下,如果符合情况在pop,也很巧妙,只是我脑子总是会用自己习惯的算法,大家自行选择哈)一共有3种不符合条件的情况:一开始想到的情况只有最普遍的那种:{[}]就是括号岔到一起了,但是长度至少是左右可以配上的。这样只要看到右括号,就和上一个比较就好但
MRmaand12
·
2023-11-05 00:41
leetcode
小白的刷题之路
算法
leetcode
职场和发展
算法训练
营第十一天 | 20. 有效的括号、 1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
目录:力扣20.有效的括号力扣1047.删除字符串中的所有相邻重复项力扣150.逆波兰表达式求值问题一、20.有效的括号题目链接:20.有效的括号-力扣(LeetCode)思路分析:很多朋友刚开始接触这一类题的时候,可能会没有思路1、使用栈来解决。2、遍历字符串,遇到左括号("{"、"["、"("),我们将右括号压入栈中。3、当我们遇到右括号时,则和栈顶元素进行匹配,如果不相等则说明没有有效的括号
零二年的冬
·
2023-11-05 00:10
算法训练
算法
c++
c语言
数据结构
代码随想录
算法训练
营第六十一天|503.下一个更大元素II、 42. 接雨水
代码随想录
算法训练
营第六十一天|503.下一个更大元素II、42.接雨水503.下一个更大元素II42.接雨水写了半个多小时503.下一个更大元素II题目链接:503.下一个更大元素II文章链接状态:做出来了
右先生717
·
2023-11-04 13:21
1024程序员节
代码随想录
算法训练
营第59天|● 503.下一个更大元素II ● 42. 接雨水
●503.下一个更大元素IIclassSolution{public:vectornextGreaterElements(vector&nums){stackst;st.push(0);vectorres(nums.size(),-1);for(inti=1;inums[st.top()]){res[st.top()]=nums[i%nums.size()];st.pop();}st.push(i
冷酷的橙子
·
2023-11-04 13:50
代码随想录算法训练营
算法
leetcode
数据结构
代码随想录
算法训练
营第六十一天| 503.下一个更大元素II 42. 接雨水
今日学习的文章链接和视频链接503.下一个更大元素IIhttps://programmercarl.com/0503.%E4%B8%8B%E4%B8%80%E4%B8%AA%E6%9B%B4%E5%A4%A7%E5%85%83%E7%B4%A0II.html接雨水https://programmercarl.com/0042.%E6%8E%A5%E9%9B%A8%E6%B0%B4.html自己看到
qq_22081185
·
2023-11-04 13:12
1024程序员节
代码随想录
算法训练
营第59天|503.下一个更大元素II、42. 接雨水
503.下一个更大元素II题目描述:给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。思路:数组扩大一倍,这样就可在最大节省空间和算力的效果下实现循环遍历。classSolution{public:vectorn
歪瓜不是挂
·
2023-11-04 13:09
算法
代码随想录
算法训练
营第六十一天 | 503.下一个更大元素II、42. 接雨水
503.下一个更大元素II链接:代码随想录(1)代码42.接雨水链接:代码随想录(1)代码
gakkicp
·
2023-11-04 13:08
单调栈
算法
java
代码随想录
算法训练
营第59天|503. 下一个更大元素 II,42. 接雨水
链接:503.下一个更大元素II链接:42.接雨水503.下一个更大元素II关于循环数组的解题方法:直接扩充数组至两倍大小example:[1,2,1]->[1,2,1,1,2,1]下标取模避免数组越界:i%nums.lengthclassSolution{publicint[]nextGreaterElements(int[]nums){//边界判断if(nums==null||nums.len
dreams00
·
2023-11-04 13:07
算法
动态规划
算法随想录
算法训练
营第四十九天| 503.下一个更大元素II 42. 接雨水
503.下一个更大元素II题目:给定一个循环数组nums(nums[nums.length-1]的下一个元素是nums[0]),返回nums中每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。classSolution{publicint[]nextGreaterElements
九百九十九号
·
2023-11-04 13:34
算法
数据结构
leetcode
代码随想录
算法训练
营第五十九天 |647. 回文子串、516.最长回文子序列、动态规划总结篇
一、647.回文子串题目链接/文章讲解:代码随想录思考:1.确定dp数组(dptable)以及下标的含义如果本题定义dp[i]为下标i结尾的字符串有dp[i]个回文串的话:会发现很难找到递归关系,dp[i]和dp[i-1],dp[i+1]看上去都没啥关系,因此本题要从回文字符串的性质着手。可以找到一种递归关系:也就是判断一个子字符串(字符串的下表范围[i,j])是否回文,依赖于,子字符串(下表范围
littlefly的blog
·
2023-11-04 11:40
数据结构
代码随想录
算法训练
营第五十七天 | 647.回文子串、516.最长回文子序列
文章目录一、647.回文子串二、516.最长回文子序列一、647.回文子串题目链接代码如下: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;j>dp(s.si
玛玛哈哈34
·
2023-11-04 11:10
算法
代码随想录
算法训练
营第五十七天|647. 回文子串、516.最长回文子序列、动态规划总结篇
647.回文子串文档讲解:代码随想录-647.回文子串状态:再次回顾。动态规划五部曲:确定dp数组(dptable)以及下标的含义dp[i][j]:表示区间范围[i,j](注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。确定递推公式当s[i]与s[j]不相等,dp[i][j]一定是false。当s[i]与s[j]相等时,有如下三种情况:情况一:下标i与j相
FuCosmo
·
2023-11-04 11:39
算法
代码随想录
算法
动态规划
代码随想录
算法训练
营第57天 | ● 647. 回文子串 ● 516.最长回文子序列 ● 动态规划总结篇
文章目录前言一、647.回文子串二、516.最长回文子序列三、动态规划总结篇总结前言动态规划完结;一、647.回文子串动态规划:确定dp数组(dptable)以及下标的含义本题如果我们定义,dp[i]为下标i结尾的字符串有dp[i]个回文串的话,我们会发现很难找到递归关系。dp[i]和dp[i-1],dp[i+1]看上去都没啥关系。所以我们要看回文串的性质。我们在判断字符串S是否是回文,那么如果我
愚者__
·
2023-11-04 11:35
动态规划
算法
代码随想录
算法训练
营第五十九天 | 647. 回文子串、516.最长回文子序列
647.回文子串链接:代码随想录(1)代码516.最长回文子序列链接:代码随想录(1)代码
gakkicp
·
2023-11-04 11:33
动态规划
算法
蓝桥杯 试题
算法训练
数组移动
问题描述初始数组A[N]中为1,2,…,N,N个数字,现要进行M次操作,每次操作给定一个数字i,记其在数组中的位置为Bi,将A[1]…A[Bi]移到数组末尾。输入格式输入的第一行包含两个整数N,M。接下来M行,每行一个正整数,表示给定的数字i。输出格式一行,输出M次操作后的A数组。样例输入5232样例输出34512样例说明第一次操作后变为45123第二次操作后变为34512数据规模和约定N#inc
本科学的写bug
·
2023-11-04 10:00
蓝桥杯
算法
蓝桥杯
c++
算法随想录
算法训练
营第四十八天| 739. 每日温度 496.下一个更大元素 I
739.每日温度题目:给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。思路:采用栈的方式解题,首先栈中存储的是数组元素的下标,我们遍历一边数组,当栈中的元素为空时,我们直接遍历数组的下标放入栈中;如果栈中的元素不为空,我们将数组对应的元素与栈顶元素
九百九十九号
·
2023-11-04 08:02
数据结构
代码随想录
算法训练
营 Day 44 | 完全背包,518.零钱兑换 II,377.组合总和 Ⅳ
完全背包理论基础讲解链接:代码随想录-完全背包理论基础题目有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。同样leetcode上没有纯完全背包问题,都是需要完全背包的各种应用,需要转化成完全背
丢硬币的御坂美琴
·
2023-11-04 06:12
算法
动态规划
数据结构
上一页
41
42
43
44
45
46
47
48
下一页
按字母分类:
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
其他