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
Narci随想录
摆动序列(中等)——代码
随想录
算法训练营Day31
题目链接:376.摆动序列题目描述如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。例如,[1,7,4,9,2,5]是一个摆动序列,因为差值(6,-3,5,-7,3)是正负交替出现的。相反,[1,4,7,2,5]和[1,7,4,5,5]不是摆动序列,第一个序列是因为它的前两个差值都是
晴雪月乔
·
2024-02-15 00:18
代码随想录算法训练营
#
LeetCode
贪心算法
算法
代码随想录算法训练营
leetcode
贪心算法
最大子数组和(中等)——代码
随想录
算法训练营Day31
题目链接:53.最大子数组和题目描述代码测试用例测试结果测试结果53.最大子数组和中等相关标签相关企业给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1]的和最大,为 6。示例2:输入:nums=[1]输
晴雪月乔
·
2024-02-15 00:48
代码随想录算法训练营
#
LeetCode
贪心算法
算法
代码随想录算法训练营
leetcode
贪心算法
代码
随想录
算法训练营Day30 | 332.重新安排行程、51.N 皇后、37.解数独
332.重新安排行程这题按自己的思路写了一版,但最后一个测试用例进入了死循环,捋了半天没想明白原因,先放在这吧。大致思路就是通过当前机票的to搜索下一张机票的from,使用过的机票在used数组中进行标记。vectorans;vectorpath={"JFK"};boolsolved=false;voidbacktracking(vector&used,vector>&tickets){if(pa
Y_Vollerei
·
2024-02-15 00:16
算法
代码
随想录
算法训练营Day21 | 530. 二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差这题依旧利用二叉搜索树中序遍历是单调递增的性质,只要以中序遍历,对比其相邻节点差值即可。利用到了双指针技巧,使用一个pre指针记录上一个节点,cur代表当前节点。TreeNode*pre=nullptr;intminDiff=100001;voidtraversal(TreeNode*cur){if(!cur)return;traversal(cur->left);i
Y_Vollerei
·
2024-02-15 00:45
算法
代码
随想录
算法训练营Day28 | 93.复原IP地址、78.子集、90.子集II
93.复原IP地址整体与131分割回文串类似,仅有部分不同:1、分割回文串时剪枝后是continue(当前子串不是回文串但右边界右移后还有可能是回文串,所以只剪当前i),本题剪枝后是break(当前子串不是IP整数,右边界不管怎么移动之后的子串都不可能是IP整数,所以剪掉整个startIndex)2、除了子串是否合法外还可根据字符串长度进行剪枝//将路径数组转换为IP字符串stringpathTo
Y_Vollerei
·
2024-02-15 00:45
算法
代码
随想录
算法训练营Day29 | 491.非递减子序列、46.全排列、47.全排列 II
491.非递减子序列这题不能对原序列进行排序,想了半天最后还是用回了set来去重。其他方面与之前题型差不多,按模板写即可。判断子序列是否递增只需要将当前元素与path尾元素对比即可。vector>ans;vectorpath;voidbacktracking(intstartIndex,vector&nums){if(path.size()>=2)ans.push_back(path);//每层设
Y_Vollerei
·
2024-02-15 00:45
算法
数据结构
代码
随想录
算法训练营Day31 | 455.分发饼干、376.摆动序列、53.最大子数组和
455.分发饼干很简单的思路:小孩和饼干分别排个序,逐个匹配即可确实有那种感觉了:这也叫算法吗?(intfindContentChildren(vector&g,vector&s){std::sort(g.begin(),g.end());std::sort(s.begin(),s.end());intans=0;for(intgIndex=0,sIndex=0;gIndex=g[gIndex])
Y_Vollerei
·
2024-02-15 00:13
算法
数据结构
代码
随想录
Day-30 回溯总结篇
回溯法理论基础回溯是递归的副产品,有递归就会有回溯回溯法就是暴力搜索回溯法能解决(组合问题/排列问题/切割问题/子集问题/棋盘问题)回溯三部曲:1)递归函数的返回值和参数2)确认终止条件3)单层搜索过程(可剪枝优化)组合问题:1)一个集合来求组合,需要startIndex2)多个集合取组合,各个集合之间相互不影响,不用startIndex3)当集合元素会有重复,但要求解集不能包含重复的组合时,使用
1234567今天你有没有摸鱼
·
2024-02-14 21:53
python
leetcode
代码
随想录
day21--回溯基础
理论基础回溯法也可以叫回溯搜索法,它是一种搜索的方式。我们在二叉树中也多次提到了回溯。回溯是递归的副产品,只要使用了递归就会有回溯,我们我们就可以笼统的将回溯函数称为递归函数回溯法解决的问题1.组合问题:N个数里面按一定规则找出k个数的集合2.切割问题:一个字符串按一定规则有几种切割方式3.子集问题:一个N个数的集合里有多少符合条件的子集4.排列问题:N个数按一定规则全排列,有几种排列方式5.棋盘
诗以言志659
·
2024-02-14 21:53
数据结构
算法
代码
随想录
Day18-LeetCode 513 & 112 & 106
513-找树左下角的值题目链接:LeetCode-513思考:最后层左下角值,左下角不一定是左下角,得先满足最后一行才行,达到深度最大,左下角的值不一定是左孩子,也可以是右孩子,优先遍历左侧就行方法一:回溯法classSolution{public:intmaxLen=INT_MIN;intmaxleftValue;voidtraversal(TreeNode*root,intleftLen){i
阿林-.-
·
2024-02-14 21:22
leetcode
算法
职场和发展
随想录
Day24--回溯算法第一战77. 组合
回溯是比递归更让人头疼的事件,因为在递归的过程中还需要值的处理。在卡尔的视频中给出了回溯的模板,也就是对应的关键在于回溯撤销处理结果。这道题的坑在于你要去感受值的添加和删除,以及怎么去变化得。画图头脑风暴感觉有点不够用了,但是模拟一遍可以更加体会到回溯的精髓。有一个需要注意的点在于回溯过程中,backtracking(n,k,i+1);第三个参数的i+1,我一开始用的index+1,index是上
石头走到哪里还是石头
·
2024-02-14 21:22
动态规划
算法
java
代码
随想录
Day10--二叉树02-拓展
226反转二叉树给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输出:[2,3,1]示例3:输入:root=[]输出:[]提示:树中节点数目范围在[0,100]内-100stack=newStackqueue=newLinkedListqueue=newL
strider1111
·
2024-02-14 21:22
算法
代码
随想录
1刷--day7回溯
回溯基础:回溯常用于解决组合77.组合17.电话号码的字母组合39.组合总和40.组合总和2216.组合总和3分割131.分割回文串93.复原IP地址子集78.子集90.子集2排列46.全排列47.全排列2棋盘问题51.N皇后37.解数独其他491.递增子序列332.重新安排行程回溯其实就是暴力搜索,回溯是递归的副产品,只要有递归就有回溯回溯三部曲:确定回溯函数返回值以及参数voidbacktra
不很平凡1
·
2024-02-14 21:52
算法
开发语言
代码
随想录
Day 24 - 回溯
代码
随想录
Day24-回溯理论基础77.组合剪枝216.组合总和III剪枝理论基础回溯法解决的问题都可以抽象为树形结构。
sweet_cream
·
2024-02-14 21:52
代码随想录
算法
c++
leetcode
代码
随想录
Day17-LeetCode 110 & 257 &404
110-平衡二叉树题目链接:LeetCode-110思考:次树左右子树高度不超过1代码:classSolution{public:intresult;voidgetDepth(TreeNode*node,intdepth){result=depth>result?depth:result;//中if(node->left==NULL&&node->right==NULL)return;if(nod
阿林-.-
·
2024-02-14 21:52
leetcode
算法
贪心算法
代码
随想录
Day44 - 多重背包 |
多重背包外层循环遍历物品,内层循环遍历背包容量。背包容量扩大时,背包容量为1时可以选物品1,背包容量为2时还可以继续选物品1,因此遍历背包容量时从前往后遍历,就可以实现多次选同一个物品。518.零钱兑换II给你一个整数数组coins表示不同面额的硬币,另给一个整数amount表示总金额。假设每一种面额的硬币有无限个,计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回0。c
Genelove1974
·
2024-02-14 21:50
c++
算法
数据结构
代码
随想录
day14-二叉树(2)
代码
随想录
day14-二叉树(2)昨天我们重点讲了二叉树的深度优先遍历,今天我们的重点是二叉树的广度优先遍历。
m0_45172994
·
2024-02-14 21:50
代码随想录刷题
leetcode
算法
数据结构
代码
随想录
day15-二叉树(3)
代码
随想录
day15-二叉树(3)1、LeetCode101对称二叉树题目分析:本题的核心在于如何判定一颗树是不是镜像对称的呢?
m0_45172994
·
2024-02-14 21:50
代码随想录刷题
leetcode
算法
数据结构
代码
随想录
day22--回溯的应用1
LeetCode216.组合总和III题目描述:找出所有相加之和为n的k个数的组合,且满足下列条件:只使用数字1到9每个数字最多使用一次返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。示例1:输入:k=3,n=7输出:[[1,2,4]]解释:1+2+4=7没有其他符合的组合了。示例2:输入:k=3,n=9输出:[[1,2,6],[1,3,5],[2,3,4]]解
诗以言志659
·
2024-02-14 21:20
算法
leetcode
职场和发展
代码
随想录
算法训练营29期|day50 任务以及具体任务
第九章动态规划part0770.爬楼梯(进阶)importjava.util.Scanner;classclimbStairs{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intm,n;while(sc.hasNextInt()){//从键盘输入参数,中间用空格隔开n=sc.nextInt();m=sc.ne
-源潮-
·
2024-02-14 15:54
算法
数据结构
leetcode
java
代码随想录
代码
随想录
-背包问题
01背包有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。二维dp数组01背包定义:dp[i][j]表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。递推公式:dp[i][j]=max(dp[i-1][j],dp[i-1][j-weight[i]]+v
hndgfnd
·
2024-02-14 13:13
算法
代码
随想录
算法训练营第三十八天|完全背包, 518. 零钱兑换 II ,377. 组合总和 Ⅳ
完全背包视频讲解:带你学透完全背包问题!和01背包有什么差别?遍历顺序上有什么讲究?_哔哩哔哩_bilibilihttps://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%8C%85.html518.
白白白揍粽
·
2024-02-14 11:49
算法
代码
随想录
算法训练营第五十天|70. 爬楼梯 (进阶),322. 零钱兑换 , 279.完全平方数
70.爬楼梯(进阶)这道题目爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍满背包有几种方法,递推公式一般都是dp[i]+=dp[i-nums[j]];代码
随想录
publicclassMain{publicstaticvoidmain
白白白揍粽
·
2024-02-14 11:47
算法
代码
随想录
第二十九天
第七章回溯算法part05*491.递增子序列*46.全排列*47.全排列II详细布置491.递增子序列本题和大家刚做过的90.子集II非常像,但又很不一样,很容易掉坑里。https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html视频讲解:https://www.bilibili.com/vi
zxclong
·
2024-02-14 03:22
java
开发语言
代码
随想录
算法训练营第五十天(完全背包篇)|518. 零钱兑换Ⅱ
代码
随想录
算法训练营第四十八天(动态规划篇之01背包)|1049.最后一块
Huiwen_Z
·
2024-02-14 02:05
代码随想录训练营
算法
动态规划
python
leetcode
代码
随想录
算法训练营第五十一天(完全背包篇)|377. 组合总和Ⅳ
377.组合总和Ⅳ题目链接:377.组合总和Ⅳ-力扣(LeetCode)思路这题对应了518零钱兑换中“先遍历容量,再遍历物体”的遍历顺序。由于元素相同顺序不同的组合算两个组合,其实是求排列。1.dp数组定义dp[j]:凑成目标正整数i的组合(排列)有dp[j]个。2.递推公式对于遍历到的正整数,num,它和之前遍历过的数凑成j的方法取决于之前的正整数能凑成正整数(j-num)的方法,把这个正整数
Huiwen_Z
·
2024-02-14 02:04
代码随想录训练营
算法
动态规划
python
leetcode
代码
随想录
算法训练营day 52 |300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
300.最长递增子序列代码
随想录
思路:dp[i]表示以i位置结尾的最长递增子序列,如果i位置的数有比其前面位置的数大,位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列+1的最大值。
wuhuqifei123
·
2024-02-13 21:06
算法
数据结构
leetcode
代码
随想录
算法训练营第23期day52|300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
目录一、300.最长递增子序列二、674.最长连续递增序列三、718.最长重复子数组一、300.最长递增子序列力扣题目链接子序列是可以在不改变原有次序的情况下删除一些元素,需要进行二重遍历进行判断classSolution{public:intlengthOfLIS(vector&nums){if(nums.size()dp(nums.size(),1);intresult=0;for(inti=
weixin_42179093
·
2024-02-13 21:05
代码随想录二刷
算法
leetcode
数据结构
代码
随想录
算法训练营Day56|583. 两个字符串的删除操作、72. 编辑距离
目录583.两个字符串的删除操作前言思路算法实现法二72.编辑距离前言思路算法实现总结583.两个字符串的删除操作题目链接文章链接前言本题与上一题不同的子序列相比,变化就是两个字符串都可以进行删除操作了。思路利用动规五部曲进行分析:1.确定dp数组及其下标的含义:dp[i][j]:以i-1为结尾的字符串word1,和以j-1位结尾的字符串word2,想要达到相等,所需要删除元素的最少次数。2.确定
张金卓2023
·
2024-02-13 21:35
算法
动态规划
代码
随想录
算法训练营day52|300.最长递增子序列,674. 最长连续递增序列,718. 最长重复子数组
300.最长递增子序列力扣思路:1.dp数组及其下标的含义: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);3.初始化:dp[i]=1;4.遍历顺序:i在外层从前往后遍历,j在内层遍历0
扭一扭.
·
2024-02-13 21:35
动态规划
算法
代码
随想录
算法训练营Day53|1143.最长公共子序列、1035.不相交的线、53. 最大子序和
目录1143.最长公共子序列前言思路算法实现1035.不相交的线前言思路算法实现53.最大子序和前言思路算法实现总结1143.最长公共子序列题目链接文章链接前言本题与上一题最长公共子数组类似,只是上一题要求连续,而本题没有这个要求。思路利用动规五部曲进行分析:1.确定dp数组及其下标含义:dp[i][j]:长度为[0,i-1]的字符串text1与长度为[0,j-1]的字符串text2的最长公共子序
张金卓2023
·
2024-02-13 21:05
算法
代码
随想录
算法训练营Day55|392.判断子序列、115.不同的子序列
目录392.判断子序列思路算法实现115.不同的子序列思路算法实现总结392.判断子序列题目链接文章链接思路利用动规五部曲进行分析:1.确定dp数组及其下标含义:dp[i][j]表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。2.确定递推公式:主要考虑两种情况:当s[i-1]==t[j-1]时,t中找到了一个字符在s中也出现了;当s[i-1]!
张金卓2023
·
2024-02-13 21:05
算法
代码
随想录
算法训练营Day51|309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费、股票问题总结
目录309.最佳买卖股票时机含冷冻期前言思路算法实现714.买卖股票的最佳时机含手续费前言思路算法实现股票问题总结309.最佳买卖股票时机含冷冻期题目链接文章链接前言本题在买卖股票II的基础上增加了一个冷冻期,因此就不能简单分为持有股票和卖出股票两个状态了。思路利用动规五部曲进行分析:1.确定dp数组及其下标的含义:dp[i][j]:第i天状态为j,所剩的最多现金为dp[i][j];本题的状态j可
张金卓2023
·
2024-02-13 21:04
算法
代码
随想录
算法训练营 Day 52 | 300.最长递增子序列,674.最长连续递增序列,718.最长重复子数组
300.最长递增子序列讲解链接:代码
随想录
-300.最长递增子序列dp[i]的定义:dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度状态转移方程位置i的最长升序子序列等于j从0到i
丢硬币的御坂美琴
·
2024-02-13 21:34
算法
数据结构
leetcode
代码
随想录
算法训练营day52 | LeetCode 300. 最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
300.最长递增子序列(题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台)思路:今天开始了dp的又一类超经典题目,最长递增子序列。依然是dp数组构造四部曲:1.确定dp数组的含义;2.确定递推公式;3.确定dp数组初始化;4.确定dp遍历顺序。因为本题不是求两个数组的公共子序列,因此一维dp数组就够了,里层for循环也不用倒叙遍历。直接拿nums[i]和nums[j]进行比较,如
_porter
·
2024-02-13 21:04
算法
leetcode
职场和发展
代码
随想录
算法训练营Day52|300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
目录300.最长递增子序列前言思路算法实现674.最长连续递增序列前言思路算法实现718.最长重复子数组前言思路总结300.最长递增子序列题目链接文章链接前言在结束代码
随想录
中的股票问题后,又是一个新的专题
张金卓2023
·
2024-02-13 21:03
算法
代码
随想录
算法训练营第十四天|二叉树的递归遍历、二叉树的迭代遍历
二叉树的理论基础参考资料(代码
随想录
)二叉树的递归遍历参考资料(代码
随想录
)思路递归算法的三个要素:确定递归函数的参数和返回值:确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数,并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型
前端花卷
·
2024-02-13 20:09
代码随想录算法训练营
算法
数据结构
javascript
代码
随想录
算法训练营第15天|● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树
层序遍历思路:利用一个辅助队列存放每一层的元素,出队的同时再把其孩子节点存入队列。队列为空则遍历结束。代码:vector>levelOrder(TreeNode*root){queueque;if(root!=nullptr)que.push(root);vector>result;while(!que.empty()){vectorvec;intsize=que.size();//该层元素固定,
strive340
·
2024-02-13 20:39
算法
数据结构
代码
随想录
算法训练营第11天|● 20. 有效的括号● 1047. 删除字符串中的所有相邻重复项● 150. 逆波兰表达式求值
20.有效的括号思路:栈的经典应用,利用栈的先进后出特性,当遇到左括号,则把相应的右括号压入栈中,遇到右括号,再把栈顶元素pop出来对比即刻.但是要分清楚3种边界情况。第一种:遍历过程中,栈中提出的右括号和当前的左括号不匹配,则错误第二种:遍历过程中,当遇到右括号,但是栈中元素是空的,则说明没有相应的左括号,错误.因为每压入栈的右括号,都是因为遍历到了左括号,可以把栈看作一个存入期望括号的栈,比如
strive340
·
2024-02-13 20:09
数据结构
开发语言
代码
随想录
算法训练营第13天|● 239. 滑动窗口最大值● 347.前 K 个高频元素
239.滑动窗口最大值解一(暴力解):假设窗口为k,数组大小为n,每次在一个窗口找最大值,遍历n-k次,则时间复杂度O(kn)优解:时间消耗大的还是在找最大值方面,定义一个单调(从大到小单调减)队列,队列里面仅维护当前窗口可能的最大值。时间复杂度O(n)单调队列遵循规则:pop():队列非空,且并且当前value值等于单调队列的队头元素,则弹出队头元素push(value):value值必须大于队
strive340
·
2024-02-13 20:09
数据结构
代码
随想录
算法训练营第8天|● 344.反转字符串● 541. 反转字符串II● 卡码网:54.替换数字● 151.翻转字符串里的单词● 卡码网:55.右旋转字符串
344.反转字符串思路:利用双指针进行字符串反转,i,j指数组头和尾,i,j下标指向元素两两交换,不断内缩,i也控制交换趟数。代码:voidreverseString(vector&s){intj=s.size()-1;inttemp;for(inti=0;i
strive340
·
2024-02-13 20:08
算法
数据结构
代码
随想录
算法训练营第十四天|二叉树理论基础● 递归遍历 ● 迭代遍历● 统一迭代
二叉树的基本理论知识:代码
随想录
二叉树的递归遍历确定前中后的遍历顺序,确定好终止条件,还是很好写的。前序遍历:/***Definitionforabinarytreenode.
stupidyinu
·
2024-02-13 20:38
算法
数据结构
代码
随想录
算法训练营第十四天|二叉树的递归遍历、迭代遍历、层序遍历
二叉树的递归遍历:题目链接/文章讲解/视频讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%80%92%E5%BD%92%E9%81%8D%E5%8E%86.html二叉树的迭代遍历:题目链接/文章讲解/视频讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6
Elaine yes
·
2024-02-13 20:08
笔记
代码
随想录
算法训练营第十四天| 二叉树的递归遍历,迭代遍历
递归遍历144.二叉树的前序遍历题目链接:https://leetcode.cn/problems/binary-tree-preorder-traversal/classSolution:defpreorderTraversal(self,root:Optional[TreeNode])->List[int]:result=[]deftran(root:TreeNode):ifrootisNon
lldyy_xb
·
2024-02-13 20:08
算法
代码
随想录
算法训练营第14天|二叉树-递归遍历 ● 迭代遍历● 统一迭代
递归遍历二叉树定义:structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intval):val(val),left(nullptr),right(nullptr){}};总结递归三部曲:1.确定递归函数的参数和返回值2.确定终止条件3.确定单层循环逻辑前序递归遍历代码://前序遍历voidtraversal(TreeNode*cu
strive340
·
2024-02-13 20:38
算法
数据结构
代码
随想录
算法训练营第二十七天|39. 组合总和、40.组合总和II、131.分割回文串
39.组合总和题目链接:39.组合总和与组合问题类似,关键是理解startIndex的作用,它是控制每组内部,每个元素的选择,如果传入的是i,则组内可重复并且组间不重复,为什么?因为外部有for循环会控制i一直自增前进,然后还有回溯操作,之前被选过的数字在回溯之后是不会再被选择了。下面是没有剪枝之后的代码。代码1.0:classSolution{//1.不剪枝版本,2ms通过Listtemp=ne
remember_me.
·
2024-02-13 17:03
代码随想录
回溯算法
Java
组合问题
代码
随想录
算法训练营第二十八天|93.复原IP地址、78.子集、90.子集II
93.复原IP地址题目链接:93.复原IP地址我的思路用的是和气割回文串一样的思路,先保存子穿,然后拼接之后再加入,与代码
随想录
里的方法有所不同。
remember_me.
·
2024-02-13 16:31
代码随想录
回溯算法
Java
子集问题
部分leetcode链表题目的总结
1、链表的基础知识代码
随想录
2、leetcode涉及链表的题目:203.移出链表元素206.反转链表19.删除链表的倒数第N个结点24.两两交换链表中的节点707.设计链表142.环形链表II3、题目分析
宸轩stu
·
2024-02-13 12:40
链表
leetcode
数据结构
19. 删除链表的倒数第 N 个结点(java、双指针法)
输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]示例2:输入:head=[1],n=1输出:[]示例3:输入:head=[1,2],n=1输出:[1]LeetCode-题目地址代码
随想录
一天无聊
·
2024-02-13 11:17
每日一题
java
leetcode
算法
代码
随想录
day21 Java版
过完年开始刷回溯算法,寒假在家时间多点,争取每天多刷点题回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案。通常是解决复杂的题。回溯法解决的问题都可以抽象为树形结构,因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度,都构成的树的深度。模板voidbacktracking(参数){if(终止条件){存放结果;return;}for(选择:本层集合中元素(树中节点孩
洒水水儿
·
2024-02-13 11:44
代码随想录打卡
算法
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他