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
————算法训练————
代码随想录
算法训练
营三刷day24 | 回溯算法 之 理论基础 77. 组合
三刷day24理论基础77.组合递归函数的返回值以及参数回溯函数终止条件单层搜索的过程理论基础回溯法解决的问题都可以抽象为树形结构。因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度,都构成的树的深度。递归就要有终止条件,所以必然是一棵高度有限的树(N叉树)。回溯三部曲回溯函数模板返回值以及参数在回溯算法中,我的习惯是函数起名字为backtracking,这个起名大家
頔枫
·
2024-03-16 09:43
算法训练营
算法
数据结构
c++
leetcode
代码随想录
算法训练
营day20 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
day19是休息日,到时候我会补一篇关于二叉树的总结。所以今天是day20.目录654.最大二叉树思路解题方法复杂度Code617.合并二叉树思路解题方法复杂度Code700.二叉搜索树中的搜索思路解题方法复杂度Code98.验证二叉搜索树思路解题方法复杂度Code总结654.最大二叉树链接:最大二叉树给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点
无为码匠
·
2024-03-15 01:25
算法刷题
算法
代码随想录
算法训练
营Day45 ||leetCode 70. 爬楼梯 (进阶)|| 322. 零钱兑换 || 279.完全平方数
70.爬楼梯(进阶)本质上和leetcode377一样#include#includeusingnamespacestd;intmain(){intn,m;while(cin>>n>>m){vectordp(n+1,0);dp[0]=1;for(inti=1;i=0)dp[i]+=dp[i-j];}}cout&coins,intamount){vectordp(amount+1,INT_MAX);
qq_44884699
·
2024-03-14 11:06
leetcode
算法
职场和发展
二刷代码随想录
算法训练
营第二十一天 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
目录一、530.二叉搜索树的最小绝对差二、501.二叉搜索树中的众数三、236.二叉树的最近公共祖先一、530.二叉搜索树的最小绝对差题目链接:力扣文章讲解:代码随想录视频讲解:二叉搜索树中,需要掌握如何双指针遍历!|LeetCode:530.二叉搜索树的最小绝对差题目:给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。代码:/
magic bamboo
·
2024-03-14 00:20
算法
代码随想录
算法训练
营第17天|110.平衡二叉树 |257. 二叉树的所有路径 | 404.左叶子之和
代码随想录
算法训练
营第17天|110.平衡二叉树|257.二叉树的所有路径|404.左叶子之和详细布置迭代法,大家可以直接过,二刷有精力的时候再去掌握迭代法。
阿豪只会阿巴
·
2024-03-13 23:20
算法
c++
代码随想录
算法训练
营第17天 | 110.平衡二叉树 257.二叉树的所有路径 404.左叶子之和
Leetcode-110平衡二叉树:比较高度优先考虑后序遍历,用后序遍历的递归方式解决很简单:/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*TreeNode(intx):
2301_76612880
·
2024-03-13 23:19
数据结构
【
算法训练
营】最长公共子序列,倒水问题,奶牛吃草(Python实现)
最长公共子序列时间限制:1sec空间限制:256MB问题描述给定两个1到n的排列A,B(即长度为n的序列,其中[1,n]之间的所有数都出现了恰好一次)。求它们的最长公共子序列长度。输入格式第一行一个整数n,意义见题目描述。第二行n个用空格隔开的正整数A[1],…,A[n],描述排列A。第三行n个用空格隔开的正整数B[1],…,B[n],描述排列B。输出格式一行一个整数,表示A,B的最长公共子序列的
X.AI666
·
2024-03-13 11:04
算法训练营
算法
数据结构
算法训练
营day46,动态规划14
funcmax(a,bint)int{ifa>b{returna}returnb}//392.判断子序列//本题与求最长公共子序列相似,区别在于,如果s是t的子序列,那么最长公共子序列的长度等于s的长度,否则s不是t的子序列funcisSubsequence(sstring,tstring)bool{n:=len(s)ifn==0{returntrue}h:=len(t)dp:=make([][]
weixin_50253985
·
2024-03-12 03:47
算法
动态规划
算法训练
营day47,动态规划15
funcmin(a,bint)int{ifa
weixin_50253985
·
2024-03-12 03:47
算法
动态规划
随想录
算法训练
营第五十四天|392.判断子序列、115.不同的子序列
392.判断子序列publicclassSolution{publicboolIsSubsequence(strings,stringt){if(s.Length==0){returntrue;}intk=0;for(inti=0;i
萌帅帅小明
·
2024-03-09 08:34
算法
leetcode
动态规划
c#
【代码随想录
算法训练
营Day39】62.不同路径;63. 不同路径 II
文章目录❇️Day39第九章动态规划part02✴️今日任务❇️62.不同路径自己的思路自己的代码随想录思路随想录代码❇️63.不同路径II自己的思路自己的代码随想录代码❇️Day39第九章动态规划part02✴️今日任务今天开始逐渐有dp的感觉了,题目不多,就两个不同路径,可以好好研究一下62.不同路径63.不同路径II❇️62.不同路径本题大家掌握动态规划的方法就可以。数论方法有点非主流,很难
想做一只潜水的猪
·
2024-03-08 12:06
算法
代码随想录
算法训练
营Day34 || leetCode 860.柠檬水找零 || 406.根据身高重建队列 || 452. 用最少数量的箭引爆气球
860.柠檬水找零贪心的思路就是,先把最没用的钱给找出去。本题中,20元没法花出去,只有10和5能找零,但10只能找零20,而5可以找零10与20,所以就想办法把10先花出去即可。之后按照收入顺序来记录钱数并选择找零。如果某次钱的数目变为负数,则说明无法找零,输出错误。classSolution{public:boollemonadeChange(vector&bills){intfive=0,t
qq_44884699
·
2024-03-06 10:34
leetcode
算法
职场和发展
代码随想录
算法训练
营Day20 || leetCode 530.二叉搜索树的最小绝对差 || 501.二叉搜索树中的众数 || 236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差最简单的思路为中序遍历,然后遍历数组求差值。classSolution{private:voidtraversal(TreeNode*root,vector&vec){if(root==NULL)return;traversal(root->left,vec);vec.push_back(root->val);//将二叉搜索树转换为有序数组traversal(root
qq_44884699
·
2024-03-06 10:04
算法
leetcode
职场和发展
代码随想录
算法训练
营Day4|leetCode 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、 面试题 02.07. 链表相交、 142.环形链表II
24.两两交换链表中的节点开始写的代码总有一些问题,对比答案之后发现自己少设置了一个变量,(此前想偷懒,把cur和head融合到一块了)。此题我出现的问题,还有一点在于自己忘了指针的作用了,一直奇怪head节点改变后,为什么dummyhead->next依然正确classSolution{public:ListNode*swapPairs(ListNode*head){ListNode*dummy
qq_44884699
·
2024-03-06 10:34
算法
leetcode
链表
代码随想录
算法训练
营Day 36 || 738.单调递增的数字、968.监控二叉树
738.单调递增的数字力扣题目链接(opensnewwindow)给定一个非负整数N,找出小于或等于N的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字x和y满足xint:digits=[int(d)fordinstr(n)]length=len(digits)#从右往左遍历,找到第一个不满足单调递增条件的位置foriinrange(length-1,0
在下小zhan
·
2024-03-06 10:04
leetcode
leetcode
代码随想录
算法训练
营Day37|738.单调递增的数字、968.监控二叉树
738.单调递增的数字题目链接:738.单调递增的数字文档链接:738.单调递增的数字视频链接:贪心算法,思路不难想,但代码不好写!LeetCode:738.单调自增的数字C++实现classSolution{public:intmonotoneIncreasingDigits(intn){stringnum=to_string(n);intflag=num.size();for(inti=num
Magical_Jason
·
2024-03-06 09:33
算法训练
算法
代码随想录
算法训练
营 Day 37 | 738.单调递增的数字,968.监控二叉树
738.单调递增的数字讲解链接:代码随想录-738.单调递增的数字啥也不说了,看代码就好拉publicintmonotoneIncreasingDigits(intn){String[]strings=String.valueOf(n).split("");intflag=strings.length;//从后面开始寻找,找到不是单调递增的位置,然后把前一个数字-1for(inti=strings
丢硬币的御坂美琴
·
2024-03-06 09:33
贪心算法
算法
leetcode
代码随想录
算法训练
营第四十七天|● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
仅做学习笔记,详细请访问代码随想录●198.打家劫舍●213.打家劫舍II●337.打家劫舍III●198.打家劫舍classSolution{public:introb(vector&nums){if(nums.size()==0)return0;if(nums.size()==1)returnnums[0];vectordp(nums.size());dp[0]=nums[0];dp[1]=m
一枚清澈愚蠢的研究生
·
2024-03-06 04:26
letcode
算法
数据结构
leetcode
题目 1629: 蓝桥杯
算法训练
VIP-接水问题
题目描述:学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。现在有n名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n编号,i号同学的接水量为wi。接水开始时,1到m号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学j完成其接水量要求wj后,下一名排队等候接水的同学k马上接替j同学的位置开始接水。这个换人的过程是瞬间完成的,
几两春秋梦_
·
2024-03-03 16:07
蓝桥杯
java
算法
开发语言
题目 1619: 蓝桥杯
算法训练
VIP-字串统计
题目描述:给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。代码:packagelanqiao;importjava.math.BigInteger;importjava.text.DecimalFormat;importjava.util.*;publicclassMain{pu
几两春秋梦_
·
2024-03-03 15:05
蓝桥杯
java
开发语言
代码随想录
算法训练
营第7天| 454. 四数相加 II、383. 赎金信、15. 三数之和、18. 四数之和
454.四数相加II题目链接454.四数相加II-力扣(LeetCode)思路这道题目的暴力解法是O(n^4),可以与两数之和一样使用哈希法解决,但是必要两个嵌套for循环了!这道题可以采用的哈希结构为map类型的,key值作元素值,value值作为同一个key值出现的次数本人题解classSolution{public:intfourSumCount(vector&nums1,vector&nu
总系学不废
·
2024-03-02 13:30
代码随想录算法训练营刷题
算法
代码随想录
算法训练
营总结
正式结束了代码随想录
算法训练
营为期60天的打卡,最终能够坚持下来感觉还是很有成就感的。
张金卓2023
·
2024-03-01 00:07
算法
数据结构
海智
算法训练
营第三十五天 | 第八章 贪心算法 part05 | ● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
今日任务:1.非重叠区间问题(和气球一样)2.划分字母区间3.合并区间1.非重叠区间问题(和气球一样)力扣题目链接和射气球一样的做法,经典重叠区间基础问题classSolution{publicinteraseOverlapIntervals(int[][]intervals){intsum=0;Arrays.sort(intervals,(o1,o2)->Integer.compare(o1[0
pp今天努力突破java地板
·
2024-02-29 16:26
java
算法
数据结构
代码随想录
算法训练
营第四十三天|1049.最后一块石头的重量II、494.目标和
1049.最后一块石头的重量IIpublicclassSolution{publicintLastStoneWeightII(int[]stones){intsum=0;for(inti=0;i=stones[i];j--){dp[j]=Math.Max(dp[j],dp[j-stones[i]]+stones[i]);}}returnsum-dp[target]-dp[target];}}明确是
萌帅帅小明
·
2024-02-29 06:44
算法
leetcode
c#
动态规划
代码随想录
算法训练
营day02|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
977.有序数组的平方题目链接:.-力扣(LeetCode)文章讲解:代码随想录视频讲解:双指针法经典题目|LeetCode:977.有序数组的平方_哔哩哔哩_bilibili1.暴力解法classSolution:defsortedSquares(self,nums:List[int])->List[int]:nlist=[]foriinnums:nlist.append(i**2)return
一只马儿️
·
2024-02-28 20:03
算法
二刷代码随想录
算法训练
营第七天 |454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
目录一、454.四数相加II二、383.赎金信三、15.三数之和18.四数之和一、454.四数相加II题目链接:力扣文章讲解:代码随想录视频讲解:学透哈希表,map使用有技巧!LeetCode:454.四数相加II题目:给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0&nums1,vector&nums2,vector
magic bamboo
·
2024-02-28 11:23
算法
leetcode
哈希算法
代码随想录
算法训练
营第60天(动态规划17● 647. 回文子串 ● 516.最长回文子序列 ● 动态规划总结篇
动态规划part17647.回文子串解题思路动态规划解法中心拓展法516.最长回文子序列解题思路动态规划总结篇647.回文子串动态规划解决的经典题目,如果没接触过的话,别硬想直接看题解。题目链接:647.回文子串文章/视频讲解:647.回文子串解题思路动态规划解法dp数组及其下标的含义布尔类型的dp[i][j]:表示区间范围[i,j](注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为
芋泥肉松脑袋
·
2024-02-27 22:04
算法
动态规划
java
leetcode
开发语言
海智
算法训练
营第三十一天 | 第八章 贪心算法 part02 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II
今日任务:1.利用贪心解决每天利润问题2.利用贪心覆盖范围解决跳跃问题3.利用贪心覆盖范围解决跳跃II问题1.利用贪心解决每天利润问题力扣题目链接这道题可以用贪心很简单的做出来,从图中可以发现,其实我们需要收集每天的正利润就可以,收集正利润的区间,就是股票买卖的区间,而我们只需要关注最终利润,不需要记录区间。classSolution{publicintmaxProfit(int[]prices)
pp今天努力突破java地板
·
2024-02-27 17:59
算法
leetcode
数据结构
代码随想录
算法训练
营第六天|242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和
文档讲解哈希表哈希碰撞STL当遇到需要查询一个集合中是否出现过某个元素的时候,通常会想到哈希表这种数据结构。那么什么是哈希表呢?存储位置=hash_fun(key),其与数组和链表这种结构都是不同的,它的存储位置是通过一个哈希函数来得到的。哈希函数:h(key)=key%capacity;那如果这个key是负数呢?h(key)就是#includeconstintN=题目数据量*2+3;consti
y_wang09
·
2024-02-26 00:38
算法
链表
哈希算法
代码随想录
算法训练
营day39| 62. 不同路径、63. 不同路径II
62、不同路径:classSolution(object):defuniquePaths(self,m,n):""":typem:int:typen:int:rtype:int"""dp=[[0]*nfor_inrange(m)]foriinrange(m):dp[i][0]=1forjinrange(n):dp[0][j]=1foriinrange(1,m):forjinrange(1,n):d
牛奶是只猫
·
2024-02-24 03:48
算法
leetcode
数据结构
代码随想录
算法训练
营day21|530.二叉搜索树的最小绝对差 、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差代码随想录视频讲解:二叉搜索树中,需要掌握如何双指针遍历!|LeetCode:530.二叉搜索树的最小绝对差_哔哩哔哩_bilibili把二叉搜索树转换成有序数组,然后遍历一遍数组,就统计出来最小差值了递归法(版本一)利用中序递增,结合数组#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,va
一只马儿️
·
2024-02-23 07:25
算法
算法训练
Day17|二叉树part04(LeetCode 110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和)
文章目录110.平衡二叉树257.二叉树的所有路径404.左叶子之和递归法迭代法110.平衡二叉树题目链接给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。根节点的高度就是这棵树的最大深度。求深度可以从上到下去查所以需要前序遍历(中左右),而高度只能从下到上去查,所以只能后序遍历(左右中)这里看不懂可以看二叉树
3分16秒
·
2024-02-20 22:39
算法与数据结构
算法
leetcode
c++
数据结构
代码随想录
算法训练
营第十七天| LeetCode110.平衡二叉树、LeetCode257. 二叉树的所有路径、LeetCode404.左叶子之和
#LeetCode110.BalancedBinaryTree#LeetCode110.视频讲解:后序遍历求高度,高度判断是否平衡|LeetCode:110.平衡二叉树_哔哩哔哩_bilibili平衡二叉树的定义是:二叉树的每个节点的左右子树的高度之差不超过1.如果计算二叉树的高度用后序遍历,二叉树的深度用前序遍历,原因如下:二叉树的高度:叶子节点所在的层为1,所以是汇总左右孩子情况后+1,返回给
wIridescent-
·
2024-02-20 22:36
算法
代码随想录
算法训练
营(23/5/25)二叉树,LeetCode 110.平衡二叉树,LeetCode.257二叉树的所有的路径,LeetCode 4044.左子树之和
LeetCode110.平衡二叉树这道题是判断高度平衡的二叉树,深度可以从上到下去查,所以需要前序遍历,而高度是只能从到下到上查,只能是后序遍历,要多看看题目,理解透题目的意思LeetCode257二叉树的所有的路径我不是能理解回溯,这道题半懂LeetCode404.左子树之和判断左节点是最重要的
Y加油
·
2024-02-20 22:36
算法
leetcode
职场和发展
leetcode
算法训练
十八天|530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差学习视频:二叉搜索树中,需要掌握如何双指针遍历!|LeetCode:530.二叉搜索树的最小绝对差_哔哩哔哩_bilibili学习文档:代码随想录(programmercarl.com)学习时间:21:30-22:06记录时间:22:06状态:已听懂|未复写代码|最好复习1.看到问题后的初始想法与看完随想录后的心得时间最近比较急,先放弃复现代码,仅仅看了卡哥的代码视频
洗菜拉普达
·
2024-02-20 20:20
算法
leetcode
数据结构
算法训练
day16 | php | 530.二叉搜索树的最小绝对差 , 501.二叉搜索树中的众数 , 236. 二叉树的最近公共祖先
一、力扣题530.二叉搜索树的最小绝对差给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。示例1:输入:root=[4,2,6,1,3]输出:1示例2:输入:root=[1,0,48,null,null,12,49]输出:1提示:树中节点的数目范围是[2,104]0getMin($root);return$this->min;}
a8917cwr
·
2024-02-20 20:15
算法
数据结构
leetcode
php
杂题——字符串——试题
算法训练
二元函数
分析:关键在于,如果处理输入的字符串成表达式字符串分三种情况:如果S中只包含一个整数,则该整数就是表达式S的值;如果S中包含f函数,则递归计算f函数的参数,并将计算结果代入f函数中计算;如果S中包含括号,则递归计算括号中的表达式,并将计算结果作为新的表达式S计算。解析字符串,使用递归方法,从外向内,寻找f()函数的两个参数packageno1_1;importjava.util.*;publicc
戏拈秃笔
·
2024-02-20 19:06
数据结构与算法(java版)
算法
算法——数论——同余
目录同余一、试题
算法训练
同余方程同余同余使人们能够用等式的形式简洁地描述整除关系同余:若m(正整数),a和b是整数,a%m==b%m,或(a-b)%m==0,记为ab(modm)求解一元线性同余方程等价于求解二元线性丢番图方程一元线性同余方程
戏拈秃笔
·
2024-02-20 19:36
数据结构与算法(java版)
算法
算法——图论——最短路径——Floyd / 传递闭包
目录Floyd-Warshall(弗洛伊德)算法传递闭包一、试题
算法训练
盾神与离散老师2Floyd-Warshall(弗洛伊德)算法求所有顶点到所有顶点的最短路径问题弗洛伊德算法(Floyd-Warshallalgorithm
戏拈秃笔
·
2024-02-20 19:02
数据结构与算法(java版)
算法
代码随想录
算法训练
营第16天|● 104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
104.二叉树的最大深度思路:二叉树求深度:从上往下遍历,前序遍历求高度:从下往上遍历,后序遍历本题的求最大高度和最大深度都一样,高度即深度。以下用后序遍历求深度,每层递归返回左右子树最大的高度加上本身(当前根节点)的高度.代码:intgetdepth(TreeNode*node){if(node==nullptr)return0;intleftdepth=getdepth(node->left)
strive340
·
2024-02-20 18:38
算法
数据结构
代码随想录
算法训练
营第18天|● 513.找树左下角的值● 112. 路径总和 113.路径总和ii● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
513.找树左下角的值思路(递归):题意是找树的最后一行,最左边的值,所以不一定该节点是左孩子,也有可能是右孩子。本题不需要中的处理过程,所以前中后序遍历都可以,因为只需要左右的遍历顺序即可。用一个全局变量MaxDepth记录最大的深度,depth记录当前遍历的层数(所以需要回溯过程)。因为最先递归遍历左边,所以如果当第一次最大深度出现节点,则result一定记录的是最左值,再之后遍历如果最大深度
strive340
·
2024-02-20 18:08
算法
数据结构
代码随想录
算法训练
营第17天|110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和
110.平衡二叉树为什么很多二叉树的题目都用后序遍历?因为左右中,可以把处理该节点放到最后,例如这题,只有得出了左右子树的高度,才能知道以该节点为根的子树是否为平衡二叉树。思路:后序遍历,计算左右子树高度差,若有一颗子树不是平衡二叉树则直接返回-1(一颗子树不平衡,则整颗子树都不平衡),否则是平衡二叉树,返回左右子树最大的一个高度加上根节点的高度。代码:intgethight(TreeNode*n
strive340
·
2024-02-20 18:07
算法
数据结构
代码随想录
算法训练
营第19天|654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树
654.最大二叉树代码思路:构造二叉树一般都用前序遍历,中左右,可以优先处理构造中节点,再递归构造左右子树。题解分步:第一步.找到该数组中最大的元素,并记录其数组下标(方便分割数组),也是切割点。第二步.中,构造该最大值的节点第三步.左,把切割点(不包含切割点)左边的数组传入递归构造左子树第四步.右,切割点右边数组传入递归构造右子树最后,返回其根节点注:分割数组必须遵循循环不变量原则,下面分割区间
strive340
·
2024-02-20 18:05
算法
数据结构
java
算法训练
day29Leetcode491递增子序列46全排列47全排列Ⅱ
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],[7,7]]示例2:输入
爱傲雪和技术的dc
·
2024-02-20 17:30
算法
数据结构
代码随想录
算法训练
营day17|Leetcode110/257/404
Leetcode257二叉树的所有路径链接:257.二叉树的所有路径-力扣(LeetCode)给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。叶子节点是指没有子节点的节点。思路:递归+回溯法这里有两种方法。第一:两层for循环,分别遍历左子树和右子树。特例:如果只有1个root,那么可以直接添加到结果集种[str(root)],注意在添加的过程中要对应上lettcod
yrrej0
·
2024-02-20 15:20
算法
leetcode
职场和发展
python
数据结构
代码随想录
算法训练
营day5
代码随想录
算法训练
营day5来到了我们的哈希表。。。
魏进
·
2024-02-20 15:47
算法
leetcode
哈希算法
代码随想录
算法训练
营day19
题目:654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树参考链接:代码随想录654.最大二叉树思路:做过根据中序后序数组构建二叉树后,这题比较容易,只需要找到最大值分割,然后递归构造即可。时间复杂度O(n),即为数组长度。classSolution{public:intfindMaxIndex(vector&nums){//默认不为空intmax=INT_MI
羊角问蕊
·
2024-02-20 15:17
算法
代码随想录
算法训练
营day20
题目:530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236.二叉树的最近公共祖先参考链接:代码随想录530.二叉搜索树的最小绝对差思路:我一开始想到的方法是先生成中序序列,然后对相邻两项的差进行计算,取最小值,时间复杂度O(n)。classSolution{public:vectorinorder;voidtraverse(TreeNode*root){if(!root){retur
羊角问蕊
·
2024-02-20 15:17
算法
代码随想录
算法训练
营day16
题目:104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数参考链接:代码随想录104.二叉树的最大深度思路:上次是用层序遍历的思路做过。这次想一点不一样的思路,对于一个二叉树的最大深度其实即为其两个子树的最大深度+1,所以可以采用递归法解决,结束条件即当root都为空的时候,最大深度即为1。时间复杂度O(n)。classSolution{public:intmaxDep
羊角问蕊
·
2024-02-20 15:16
算法
数据结构
代码随想录
算法训练
营day18
题目:513.找树左下角的值、路径总和、从中序与后序遍历序列构造二叉树参考链接:代码随想录513.找树左下角的值思路:这题首先想到层序遍历,直接记录每一层第一个值,最后即为答案。classSolution{public:intfindBottomLeftValue(TreeNode*root){queueq;intans;if(root){q.push(root);}while(!q.empty(
羊角问蕊
·
2024-02-20 15:16
算法
数据结构
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他