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算法训练
代码随想录
算法训练
营第29天|* 491.递增子序列 * 46.全排列 * 47.全排列 II
491.递增子序列-子集已解答中等相关标签相关企业给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。你可以按任意顺序返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。示例1:输入:nums=[4,6,7,7]输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7]
嗝~~~~
·
2023-12-06 17:18
代码随想录
算法
代码随想录
算法训练
营第五十六天|583. 两个字符串的删除操作、72. 编辑距离
可见前一篇blog中1143.最长公共子序列思路代码随想录
算法训练
营第五十三天|1143.最长公共子序列、1035.不相交的线、53.最大子数组和-
Keponcod
·
2023-12-06 13:21
算法
leetcode
动态规划
c++
算法训练
Day56: 583. 两个字符串的删除操作 72. 编辑距离
文章目录两个字符串的删除操作题解编辑距离题解两个字符串的删除操作CategoryDifficultyLikesDislikesContestSlugProblemIndexScorealgorithmsMedium(66.47%)5780--0TagsCompanies给定两个单词word1和word2,返回使得word1和word2相同所需的最小步数。每步可以删除任意一个字符串中的一个字符。示例
泷fyk
·
2023-12-06 13:50
动态规划
算法训练
算法
代码随想录
算法训练
营 ---第五十六天
今天同样是动态规划:编辑距离问题!第一题:简介:本题有两个思路:1.求出最长公共子串,然后返还word1.length()+word2.length()-2*dp[word1.size()][word2.size()]本思路解法与求最长公共子串相同,只是返还结果不同代码实现:intminDistance(stringword1,stringword2){vector>dp(word1.size()
Gemn 1
·
2023-12-06 03:54
算法
代码随想录
算法训练
营 ---第五十二天
第一题:简介:动态规划五部曲:1.确定dp数组下标的定义dp[i]到达i时最长递增子序列的长度2.确定递推公式我们确定当前的最大长度需要遍历前面所有的最大长度,然后如果序列最后一个值小于nums[i]那就dp[j]+1;然后不断遍历保持最大。if(nums[i]>nums[j])dp[i]=max(dp[i],dp[j]+1);3.初始化dp数组vectordp(nums.size(),1);因为
Gemn 1
·
2023-12-06 03:24
算法
代码随想录
算法训练
营 ---第五十三天
第一题:简介:本题和昨天的最大重复子串问题很相似,只不过本题不一定是连续的。动规五部曲分析如下:确定dp数组(dptable)以及下标的含义dp[i][j]:长度为i-1的字符串text1与长度为j-1的字符串text2的最长公共子序列长度为dp[i][j]定义为i-1或j-1是为了代码实现方便2.确定递推公式主要就是两大情况:text1[i-1]与text2[j-1]相同,text1[i-1]与
Gemn 1
·
2023-12-06 03:24
算法
代码随想录
算法训练
营 ---第五十五天
今天是动态规划:编辑距离问题。第一题:简介:动态规划五部曲:1.确定dp数组的含义dp[i][j]表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。2.确定递推公式两种情况:1.s[i-1]==t[j-1]dp[i][j]=dp[i-1][j-1]+12.s[i-1]!=t[j-1]不相等所以我们要模拟删除此元素,相当于长度不变继承前面的长度或理
Gemn 1
·
2023-12-06 03:53
算法
算法训练
DAY46LeetCode139.单词拆分
139.单词拆分classSolution{public:boolwordBreak(strings,vector&wordDict){unordered_setset(wordDict.begin(),wordDict.end());vectordp(s.size()+1,false);dp[0]=true;for(inti=1;i
Don Vito Corleone512
·
2023-12-05 16:23
算法
Day75x.
算法训练
23.合并K个升序链表/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val=val;this.next=next;}*}*/cl
EVE(伊娃)
·
2023-12-05 16:53
算法
Day61.
算法训练
206.反转链表/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val=val;this.next=next;}*}*/class
EVE(伊娃)
·
2023-12-05 16:53
算法
Day62.
算法训练
718.最长重复子数组classSolution{publicintfindLength(int[]nums1,int[]nums2){intmax=0;int[][]dp=newint[nums1.length][nums2.length];for(inti=0;imax){max=dp[i][j];}}}}//for(int[]ints:dp){//System.out.println(Arr
EVE(伊娃)
·
2023-12-05 16:53
算法
leetcode
Day63.
算法训练
3.无重复字符的最长子串classSolution{publicintlengthOfLongestSubstring(Strings){char[]chars=s.toCharArray();intmax=0;Mapmap=newHashMap=10){carry=1;sum=sum-10;}else{carry=0;}p3.next=newListNode(sum);p1=p1.next;p2
EVE(伊娃)
·
2023-12-05 16:53
算法
Day73x.
算法训练
337.打家劫舍III/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval){this.val=val;}*TreeNode(intval,TreeNodeleft,TreeNoderight){*this.va
EVE(伊娃)
·
2023-12-05 16:23
算法
Day27.
算法训练
77.组合classSolution{List>result=newArrayList>combine(intn,intk){combine(n,k,1,newArrayListpath){if(path.size()==k){result.add(newArrayList=k-path.size());i++){path.add(i);combine(n,k,i+1,path);path.rem
EVE(伊娃)
·
2023-12-05 16:22
leetcode
算法
数据结构
Day60.
算法训练
912.排序数组归并排序classSolution{publicint[]sortArray(int[]nums){intlo=0;inthi=nums.length-1;int[]assist=newint[nums.length];sortArray(nums,assist,lo,hi);returnnums;}privatevoidsortArray(int[]nums,int[]assis
EVE(伊娃)
·
2023-12-05 16:18
算法
代码随想录
算法训练
营第十天| LeetCode459.重复的子字符串
459.重复的子字符串题目:459.重复的子字符串////暴力解法超时O(N^2),需要剪枝操作classSolution{public:boolisrepeat(string&s,string&son){for(intj=0;j0&&s[i]!=s[j]){j=next[j-1];}if(s[i]==s[j]){j++;}next[i]=j;}}boolrepeatedSubstringPatt
冰冰的coco
·
2023-12-05 15:06
代码随想录算法训练营
算法
leetcode
字符串
KMP
代码随想录
算法训练
营第23天|● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇
108.将有序数组转换为二叉搜索树简单给你一个整数数组nums,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树。高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过1」的二叉树。示例1:[图片]输入:nums=[-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9]也将被视为正确答案:[图片]示例
嗝~~~~
·
2023-12-04 18:41
代码随想录
算法
数据结构
代码随想录
算法训练
营第24天|● 理论基础 ● 77. 组合
77.组合已解答中等相关标签相关企业给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。示例1:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例2:输入:n=1,k=1输出:[[1]]提示:1<=n<=201<=k<=n代码funccombine(nint,kint)[][]int{tmp,res:=m
嗝~~~~
·
2023-12-04 18:41
代码随想录
算法
代码随想录
算法训练
营第25天|● 216.组合总和III ● 17.电话号码的字母组合
216.组合总和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]]解
嗝~~~~
·
2023-12-04 18:41
代码随想录
算法
深度优先
数据结构
代码随想录
算法训练
营第27天|● 39. 组合总和 ● 40.组合总和II ● 131.分割回文串
39.组合总和已解答中等相关标签相关企业给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于1
嗝~~~~
·
2023-12-04 18:36
代码随想录
算法
算法训练
营DAY22|235. 二叉搜索树的最近公共祖先701.二叉搜索树中的插入操作450.删除二叉搜索树中的节点
235.二叉搜索树的最近公共祖先-力扣(LeetCode)https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/这道题和上一期的最后一道大体上差不多,我都做不出来。。看了题解,发现这道题与那道题的区别是,普通二叉树的查找最近公共节点,我们需要从二叉树的底部向上面遍历处理节点,而二叉搜索树,由于它自身拥
让你明白算法!
·
2023-12-04 12:49
训练营
算法
leetcode
c++
算法训练
Day23|LeetCode 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
题目链接:669.修剪二叉搜索树classSolution{public:TreeNode*trimBST(TreeNode*root,intlow,inthigh){if(root==nullptr)returnnullptr;if(root->valright,low,high);//寻找符合区间[low,high]的节点returnright;}if(root->val>high){Tree
Walter.C
·
2023-12-04 12:47
代码随想录算法训练
数据结构
算法
leetcode
c++
力扣
代码随想录
算法训练
营第四十三天 _ 动态规划_416.分割等和子集、1049.最后一块石头的重量II。
学习目标:动态规划五部曲:①确定dp[i]的含义②求递推公式③dp数组如何初始化④确定遍历顺序⑤打印递归数组----调试引用自代码随想录!60天训练营打卡计划!学习内容:416.分割等和子集该题目可以等效为一个重量和价值相等的01背包问题,所以使用一维的数组就可。因为题目问的是可不可以分为两个等和子集,没有问具体应该怎么分。动态规划五步曲:①确定dp[j]的含义:容量为j的背包的最大价值②求递推公
Josue?
·
2023-12-04 12:25
刷题训练心得
算法
动态规划
代码随想录
算法训练
营第四十一天 _ 动态规划_343. 整数拆分、96.不同的二叉搜索树、01背包问题。
学习目标:动态规划五部曲:①确定dp[i]的含义②求递推公式③dp数组如何初始化④确定遍历顺序⑤打印递归数组----调试引用自代码随想录!60天训练营打卡计划!学习内容:343.整数拆分动态规划五步曲:①确定dp[i]的含义:对i拆分后得最大乘积为dp[i]②求递推公式:Ⅰj*dp[i-j],其中dp[i-j]代表两个数及以上的最大乘积。我根本不需要关心dp[i-j]是怎么组成的,因为题目只要求求
Josue?
·
2023-12-04 12:24
刷题训练心得
算法
动态规划
代码随想录
算法训练
营第四十二天 _ 动态规划_01背包问题。
学习目标:动态规划五部曲:①确定dp[i]的含义②求递推公式③dp数组如何初始化④确定遍历顺序⑤打印递归数组----调试引用自代码随想录!60天训练营打卡计划!学习内容:二维数组处理01背包问题听起来思路很简单,但其实一点也不好实现。动态规划五步曲:①确定dp[i][j]的含义:任取[0,i]的物品后放进容量为j的背包所能放的最大价值②求递推公式:dp[i][j]=max(dp[i-1][j],d
Josue?
·
2023-12-04 12:23
刷题训练心得
算法
动态规划
01背包问题
代码随想录
算法训练
营第五十一天 | 309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费,股票总结
目录309.最佳买卖股票时机含冷冻期714.买卖股票的最佳时机含手续费股票问题总结309.最佳买卖股票时机含冷冻期题目链接:309.买卖股票的最佳时机含冷冻期分为四种状态:0.持有股票1.不持有股票——卖出状态2.不持有股票——今天卖出3.今天为冷冻期(1)dp[i][j]表示第i天的所拥有的钱,j表示状态;(2)dp[i][0]有三种情况:①第i-1天持有;②第i-1天是卖出状态(今天买入);③
Jamie super Cool
·
2023-12-03 23:50
算法
动态规划
leetcode
c++
代码随想录
算法训练
营第五十三天 | 1143.最长公共子序列,1035.不相交的线,53. 最大子序和 动态规划
目录1143.最长公共子序列1035.不相交的线53.最大子序和动态规划1143.最长公共子序列题目链接:1143.最长公共子序列(1)dp[i][j]表示text1前i个元素、text2前j个元素的最长公共子序列的长度;(2)if(text1[i-1]==text2[j-1])dp[i][j]=dp[i-1][j-1]+1;elsedp[i][j]=dp[i-1][j-1];(3)dp[0][0
Jamie super Cool
·
2023-12-03 23:50
算法
动态规划
c++
leetcode
代码随想录
算法训练
营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
目录977.有序数组的平方思路1.暴力思路2.双指针思路代码实现1.暴力思路(1)冒泡排序(2)快速排序2.双指针思路总结209.长度最小的子数组思路代码实现总结59.螺旋矩阵II思路代码实现总结977.有序数组的平方题目链接:977.有序数组的平方思路1.暴力思路拿到题目最直接的思路就是暴力方法,首先将数组元素进行平方,然后再进行排序。当使用O()的排序算法时,直接超时了;使用O(nlogn)的
Jamie super Cool
·
2023-12-03 23:49
算法
矩阵
leetcode
c++
代码随想录
算法训练
营第三天 | 链表理论基础,203.移除链表元素,707.设计链表,206.反转链表
目录链表理论基础链表基础链表的定义对比链表与数组203.移除链表元素思路代码实现总结707.设计链表思路代码实现总结206.反转链表思路1.第一直觉2.双指针法3.递归法代码实现1.第一直觉2.双指针法3.递归法总结链表理论基础链表基础众所周知的,链表是线性结构,每个结点有数据域和指针域,head指针指向头节点,尾结点指针指向null;各结点地址空间不连续;类型有单链表、双链表、循环链表等;链表的
Jamie super Cool
·
2023-12-03 23:49
算法
链表
leetcode
c++
代码随想录
算法训练
营第五十天 | 123.买卖股票的最佳时机III,188.买卖股票的最佳时机IV
目录123.买卖股票的最佳时机III188.买卖股票的最佳时机IV123.买卖股票的最佳时机III题目链接:123.买卖股票的最佳时机III仿照买卖股票的最佳时机,多设置两个状态用于记录第2次是否持有股票:(1)dp[i][0]表示第一次持有股票;dp[i][1]表示第一次不持有股票;dp[i][2]表示第二次持有股票;dp[i][3]表示第二次不持有股票;(2)dp[i][0]=max(dp[i
Jamie super Cool
·
2023-12-03 23:49
算法
leetcode
c++
动态规划
代码随想录
算法训练
营第四十六天 | 139.单词拆分,多重背包,背包问题总结
目录139.单词拆分多重背包背包问题总结01背包完全背包多重背包139.单词拆分题目链接:139.单词拆分不要求字典中的单词全部使用,但是要求拆分的单词拆分成的每一个子串都是字典中的单词。(1)dp[i]表示前i个字符组成的字符串可以被字典中的单词拆分;(2)dp[i]=dp[j]&&check(str,i-j+1);(3)均初始化为false;(4)强调子串顺序,外层遍历背包,内层遍历物品;cl
Jamie super Cool
·
2023-12-03 23:19
算法
动态规划
leetcode
c++
代码随想录
算法训练
营第四十八天 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III
目录198.打家劫舍213.打家劫舍II337.打家劫舍III198.打家劫舍题目链接:198.打家劫舍(1)dp[i]表示经过前i户所偷的最高金额,且偷第i户;(2)dp[i]=max(dp[i-2],dp[i-3])+nums[i];(3)dp[0]=nums[0];dp[1]=nums[1];dp[2]=nums[2]+nums[0];(4)从小到大遍历房屋;classSolution{pu
Jamie super Cool
·
2023-12-03 23:19
动态规划
算法
c++
leetcode
代码随想录
算法训练
营第一天| 704. 二分查找、27. 移除元素
目录数组理论基础数组的特点704.二分查找代码实现总结27.移除元素代码实现总结数组理论基础数组的特点(1)下标从0开始;(2)地址空间连续;因为数组地址空间连续,所以不能删除,只能覆盖。704.二分查找题目链接:704.二分查找代码实现classSolution{public:intsearch(vector&nums,inttarget){intleft=0;intright=nums.siz
Jamie super Cool
·
2023-12-03 23:48
算法
leetcode
c++
代码随想录
算法训练
营第五十二天 | 300.最长递增子序列,674. 最长连续递增序列,718. 最长重复子数组
目录300.最长递增子序列674.最长连续递增序列718.最长重复子数组300.最长递增子序列题目链接:300.最长递增子序列(1)dp[i]表示以第i个元素为结尾的递归子序列的长度;(2)if(nums[i]>nums[j])dp[i]=max(dp[j]+1,dp[i]);(3)dp[0]=1;dp[i]=1;(4)外层循环遍历每个元素,内层循环从头开始遍历到外层元素;classSolutio
Jamie super Cool
·
2023-12-03 23:47
动态规划
算法
leetcode
c++
代码随想录
算法训练
营第四十一天| 343 整数拆分 96 不同的二叉搜索树
目录343整数拆分96不同的二叉搜索树343整数拆分classSolution{publicintintegerBreak(intn){intf[]=newint[n+1];if(n==2)return1;f[2]=1;f[3]=2;for(inti=3;i<=n;i++){for(intj=1;j<=i-j;j++){f[i]=Math.max(f[i],Math.max(j*f[i-j],j*
魔法恐龙: )
·
2023-12-03 17:18
算法
代码随想录
算法训练
营第三十九天| 62 不同路径 63 不同路径 ||
目录62不同路径63不同路径||62不同路径classSolution{publicintuniquePaths(intm,intn){intf[][]=newint[m][n];for(inti=0;i0&&f[i-1][0]==1)f[i][0]=1;for(inti=1;i0&&f[0][i-1]==1)f[0][i]=1;for(inti=1;i
魔法恐龙: )
·
2023-12-03 17:47
算法
年前算法结束之小结
寒假刚开始听到我们大致的安排是
算法训练
,我的心情是忐忑和激动以及跃跃欲试的。期末前学习了一些基本的算法知识,有些一放假,一考完试就忘了。寒假确实需要学习,一方面是为了蓝桥杯,另一方面是为了未来。
Guangchao
·
2023-12-03 10:07
代码随想录
算法训练
营第二十八天|122.买卖股票的最佳时机II , 55. 跳跃游戏 ,45.跳跃游戏II
122.买卖股票的最佳时机II-力扣(LeetCode)给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润。示例1:输入:prices=[7,1,5,3,6,4]输出:7解释:在第2天(股票价格=1)的时候买入,在第3天(股票价格=5)的
W懒大王W
·
2023-12-03 06:37
代码随想录每日训练
游戏
代码随想录
算法训练
营第三十一天|435. 无重叠区间 , 763.划分字母区间 , 56. 合并区间
435.无重叠区间-力扣(LeetCode)给定一个区间的集合intervals,其中intervals[i]=[starti,endi]。返回需要移除区间的最小数量,使剩余区间互不重叠。示例1:输入:intervals=[[1,2],[2,3],[3,4],[1,3]]输出:1解释:移除[1,3]后,剩下的区间没有重叠。示例2:输入:intervals=[[1,2],[1,2],[1,2]]输出
W懒大王W
·
2023-12-03 06:37
代码随想录每日训练
算法
代码随想录
算法训练
营第三十三天|509. 斐波那契数 ,70. 爬楼梯 ,746. 使用最小花费爬楼梯
509.斐波那契数-力扣(LeetCode)斐波那契数(通常用F(n)表示)形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1) =1F(n)=F(n-1)+F(n-2),其中n>1给定n,请计算F(n)。示例1:输入:n=2输出:1解释:F(2)=F(1)+F(0)=1+0=1思路:这题属于动态规划,虽然简单,但是可以学习动态规划五
W懒大王W
·
2023-12-03 06:37
代码随想录每日训练
算法
代码随想录
算法训练
营第二十七天|455.分发饼干,376. 摆动序列,53. 最大子序和
455.分发饼干-力扣(LeetCode)假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果s[j]>=g[i],我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入:g=[
W懒大王W
·
2023-12-03 06:07
代码随想录每日训练
算法
数据结构
代码随想录
算法训练
营第二十五天|491.递增子序列,46.全排列,47.全排列 II
491.递增子序列-力扣(LeetCode)给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。你可以按任意顺序返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。示例1:输入:nums=[4,6,7,7]输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7
W懒大王W
·
2023-12-03 06:06
代码随想录每日训练
算法
代码随想录
算法训练
营第三十四天|62.不同路径,63. 不同路径 II
62.不同路径-力扣(LeetCode)一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入:m=3,n=7输出:28思路:显然达到右下角只能是从左边或者上面来,而每个位置也只能是从左边或者上面来,考虑动态规划。解决:动态规划五步曲第一步:
W懒大王W
·
2023-12-03 06:00
代码随想录每日训练
算法
2022-09-24
算法训练
Day4
今日任务24.两两交换链表中的节点19.删除链表的倒数第N个节点面试题02.07.链表相交142.环形链表II总结开始做啦(1)24.两两交换链表中的节点24.两两交换链表中的节点-力扣(LeetCode)两个重点:1.要用虚拟头节点,pre保存当前的前一个节点2.保存当前交换的两个节点的后边的所有节点到temp中。3.pre往后移动两个节点,cur往后移动两个节点4.判断的时候while(cur
海狸攻城狮
·
2023-12-03 02:02
代码随想录
算法训练
营第六十天|84. 柱状图中最大的矩形
LeetCode84.柱状图中最大的矩形题目链接:84.柱状图中最大的矩形-力扣(LeetCode)和接雨水还挺像的。代码:#pythonclassSolution:deflargestRectangleArea(self,heights:List[int])->int:heights.insert(0,0)heights.append(0)stack=[0]result=0foriinrange
别看了真C不了一点
·
2023-12-03 00:31
算法
代码随想录
算法训练
营第五十七天|739. 每日温度、496.下一个更大元素 I
LeetCode739.每日温度题目链接:739.每日温度-力扣(LeetCode)单调栈开始,为什么要用栈,因为栈是先入后出,当我们遍历从前往后的时候,每次遍历的元素都是添加至栈尾,方便我们进行比较,满足条件计算下标差值(因为是求几天后比今天热),不满足就继续走。代码:#python//数组中每一位表示之后比今天温度高的天数距离classSolution:defdailyTemperatures
别看了真C不了一点
·
2023-12-03 00:01
算法
代码随想录
算法训练
营第五十九天|503. 下一个更大元素 II、42. 接雨水
LeetCode503.下一个更大元素II题目链接:503.下一个更大元素II-力扣(LeetCode)该题在上一题:496.下一个更大元素I-力扣(LeetCode)的基础上,进行循环遍历,因此我们就采用取模的方式来循环。代码:#pythonclassSolution:defnextGreaterElements(self,nums:List[int])->List[int]:dp=[-1]*l
别看了真C不了一点
·
2023-12-03 00:01
算法
数据结构
代码随想录
算法训练
营第36天 | 贪心算法 part05 ● 435. 无重叠区间 M ● 763.划分字母区间 M ● 56. 合并区间 M
#435无重叠区间M20min算是自己做出来的,但我本来思路是排序之后,有重叠就删除跨度更大的,然后发现不对,就改成了有重叠就删除结束更晚的,就对了,mycode:staticboolcmp(constvector&a,constvector&b){if(a[0]==b[0])returna[1]>&intervals){sort(intervals.begin(),intervals.end()
weixin_51674457
·
2023-12-02 23:10
代码随想录一刷
贪心算法
算法
leetcode
c++
代码随想录
算法训练
营第三十六天|435. 无重叠区间、763.划分字母区间 、56. 合并区间
435.无重叠区间代码随想录763.划分字母区间代码随想录我的思路:记录每个字母的最远距离,遍历一遍字符串,如果当前i大于等于当前前面左右字母的最远距离就截取一段字母,最后返回数组即可。56.合并区间本题相对来说就比较难了。代码随想录
夕风621
·
2023-12-02 23:10
算法
leetcode
贪心算法
代码随想录
算法训练
营第三十七天 _ 贪心算法_738.单调自增的数字、968.监督二叉树
学习目标:60天训练营打卡计划!学习内容:738.单调自增的数字听不懂的时候就到该动手了。必须要从后向前操作,才能把压力逐级传给最前面的这一位。入如:322classSolution{//java中的String不能修改,需要StringBuilder。publicintmonotoneIncreasingDigits(intn){Stringsnum=Integer.toString(n);St
Josue?
·
2023-12-02 23:39
刷题训练心得
算法
贪心算法
上一页
33
34
35
36
37
38
39
40
下一页
按字母分类:
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
其他