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
leetcode二叉树
递归、搜索与回溯算法
举几个我们之前学习过的例子:
二叉树
的遍历、快速排序、归并排序,都是用递归来解决的,比如
二叉树
的后序遍历实现方式:是先遍历左子树再遍历右子树,最后访问根节点,而遍历左子树和遍历右子树的过程也都可以分成:先遍历左子树再遍历右子树
望舒_233
·
2024-08-30 07:05
算法
152. 乘积最大子数组
152.乘积最大子数组-力扣(
LeetCode
)(
leetcode
-cn.com)classSolution{/**思路:求最大值,可以看成求被0拆分的各个子数组的最大值。
了不起的明明
·
2024-08-30 06:44
Leetcode
219. 存在重复元素
题目给定一个整数数组和一个整数k,判断数组中是否存在两个不同的索引i和j,使得nums[i]=nums[j],并且i和j的差的绝对值最大为k。示例1:输入:nums=[1,2,3,1],k=3输出:true示例2:输入:nums=[1,0,1,1],k=1输出:true示例3:输入:nums=[1,2,3,1,2,3],k=2输出:falseC++解法#include#include#includ
LonnieQ
·
2024-08-30 04:24
路径总和、113.路径总和Ⅱ、106.从中序与后序遍历序列构造
二叉树
、105.从前序与中序遍历序列构造
二叉树
算法day15|513.找树左下角的值、112.路径总和、113.路径总和Ⅱ、106.从中序与后序遍历序列构造
二叉树
、105.从前序与中序遍历序列构造
二叉树
513.找树左下角的值迭代法112.路径总和113
桃酥403
·
2024-08-30 04:16
算法
数据结构
c++
leetcode
LeetCode
: 891. Sum of Subsequence Widths
LeetCode
:891.SumofSubsequenceWidths题目描述GivenanarrayofintegersA,considerallnon-emptysubsequencesofA.ForanysequenceS
杨领well
·
2024-08-30 01:58
LeetCode
LeetCode
Weekly
Contest
98
杨领well的
LeetCode
题解专栏
leetcode
893. Groups of Special-Equivalent Strings
原题链接Youaregivenanarrayofstringsofthesamelengthwords.Inonemove,youcanswapanytwoevenindexedcharactersoranytwooddindexedcharactersofastringwords[i].Twostringswords[i]andwords[j]arespecial-equivalentifaft
小白龙v5
·
2024-08-30 01:28
leetcode
LeetCode
第101题----对称
二叉树
本文将较详细的叙述
LeetCode
第101题的解题思路和解题步骤,希望能帮到大家。
F & F
·
2024-08-30 01:27
LeetCode刷题分享
leetcode
算法
python
c++
数据结构
LeetCode
891. Sum of Subsequence Widths
题目描述891.子序列宽度之和AC代码将数组A从小到大排序。假如我们固定了当前子序列的最小值A[i],假设数组下标从0开始,则以A[i]为最小值贡献的答案为,(A[n−1]−A[i])2n−i−2+(A[n−2]−A[i])2n−i−3+⋯+(A[i+1]−A[i])20(A[n−1]−A[i])2^n−i−2+(A[n−2]−A[i])2^n−i−3+⋯+(A[i+1]−A[i])2^0(A[n
NayelyAA
·
2024-08-30 01:26
leetcode
[
LeetCode
] 891. Sum of Subsequence Widths 子序列宽度之和
GivenanarrayofintegersA,considerallnon-emptysubsequencesofA.ForanysequenceS,letthewidthofSbethedifferencebetweenthemaximumandminimumelementofS.ReturnthesumofthewidthsofallsubsequencesofA.Astheanswerma
weixin_30568591
·
2024-08-30 01:56
python
数据结构与算法
LeetCode
热题100-41
二叉树
的层序遍历
二叉树
的层序遍历给你
二叉树
的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。
万雅过往
·
2024-08-30 01:55
力扣热题100
leetcode
算法
python
LeetCode
热题100-63 搜索插入位置
搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。示例1:输入:nums=[1,3,5,6],target=5输出:2示例2:输入:nums=[1,3,5,6],target=2输出:1示例3:输入:nums=[1,3,5,6],target=7输出:4提示:1int:le
万雅过往
·
2024-08-30 01:25
力扣热题100
leetcode
算法
python
LeetCode
热题100-40-对称
二叉树
核心思想:递归/迭代思路:将一棵树划分为两半,每次移动,同时指向同一个位置的元素,遍历即可递归版本:/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval){this.val=val;}*TreeNode(intv
一条吃猫的鱼
·
2024-08-30 01:55
Leetcode热题100
leetcode
java
LeetCode
101题--对称
二叉树
LeetCode
101题:给定一个
二叉树
,检查它是否是镜像对称的。思路:判断树是否对称的,那么就要判断左子树的左子节点是否和右子树的右子节点,左子树的右子节点和右子树的左子节点是否相同。
且-听风吟.
·
2024-08-30 01:55
LeetCode题解
二叉树
leetcode
LeetCode
891. Sum of Subsequence Widths (找规律)
GivenanarrayofintegersA,considerallnon-emptysubsequencesofA.ForanysequenceS,letthewidthofSbethedifferencebetweenthemaximumandminimumelementofS.ReturnthesumofthewidthsofallsubsequencesofA.Astheanswerma
HuangHongkai_
·
2024-08-30 01:25
算法
LeetCode
数学
LeetCode
2104. Sum of Subarray Ranges - 亚马逊高频题3
Youaregivenanintegerarraynums.Therangeofasubarrayofnumsisthedifferencebetweenthelargestandsmallestelementinthesubarray.Returnthesumofallsubarrayrangesofnums.Asubarrayisacontiguousnon-emptysequenceofel
CP Coding
·
2024-08-30 01:53
亚马逊高频题
Leetcode刷题笔记
leetcode
算法
python
数组结构
LeetCode
:891. Sum of Subsequence Widths - Python
问题描述:891.子序列宽度之和给定一个整数数组A,考虑A的所有非空子序列。对于任意序列S,设S的宽度是S的最大元素和最小元素的差。返回A的所有子序列的宽度之和。由于答案可能非常大,请返回答案模10^9+7。示例:输入:[2,1,3]输出:6解释:子序列为[1],[2],[3],[2,1],[2,3],[1,3],[2,1,3]。相应的宽度是0,0,0,1,1,2,2。这些宽度之和是6。提示:1<
GrowthDiary007
·
2024-08-30 01:23
算法
Python
LeetCode
算法
Python
LeetCode
LeetCode
热题100-39 对称
二叉树
对称
二叉树
给你一个
二叉树
的根节点root,检查它是否轴对称。
万雅过往
·
2024-08-30 00:51
力扣热题100
leetcode
算法
python
【Hot100】
LeetCode
—79. 单词搜索
目录1-思路回溯2-实现⭐79.单词搜索——题解思路3-ACM实现原题链接:79.单词搜索1-思路回溯思路:①遍历每个单元格(作为起点)、②对每个单元格进行回溯(起点回溯)1-起点用两层for循环遍历每个单元格,之后对当前单元格进行dfs2-回溯操作由于需要对每个单元格进行回溯,所以i和j的位置,回溯函数必须要知道,因此传参中必须有i和j2-实现⭐79.单词搜索——题解思路classSolutio
山脚ice
·
2024-08-30 00:16
#
Hot100
leetcode
算法
从前序与中序遍历序列构造
二叉树
/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):val(x),left(NULL),right(NULL){}*};*/classSolution{public:TreeNode*buildTree(vector&preorder,vect
吴贝贝97
·
2024-08-29 23:46
LeetCode
leetcode
105. 从前序与中序遍历序列构造
二叉树
题目根据一棵树的前序遍历与中序遍历构造
二叉树
。注意:你可以假设树中没有重复的元素。
低头看天,抬头走路
·
2024-08-29 23:46
#
树
从前序与中序遍历序列构造二叉树
LeetCode
——从前序与中序遍历序列构造
二叉树
NO.105从前序与中序遍历序列构造
二叉树
中等思路一:模拟回想了一下学校老师上课讲的如何根据两个遍历序列还原出
二叉树
的:根据前序序列的第一个字符确定树的根,示例中的3。
相信天道酬勤的M1ng
·
2024-08-29 23:46
数据结构与算法
LeetCode
105. 从前序与中序遍历序列构造
二叉树
根据一棵树的前序遍历与中序遍历构造
二叉树
。注意:你可以假设树中没有重复的元素。
陈彬_smile
·
2024-08-29 23:15
#
树
二叉树
leetcode
算法
【Hot100】
LeetCode
—105. 从前序与中序遍历序列构造
二叉树
目录1-思路递归2-实现⭐105.从前序与中序遍历序列构造
二叉树
——题解思路3-ACM实现原题连接:105.从前序与中序遍历序列构造
二叉树
1-思路递归前序:中左右中序:左中右让前序的第一个元素作为中序的分割点分割思路
山脚ice
·
2024-08-29 23:44
#
Hot100
leetcode
算法
职场和发展
Leetcode
1048. Longest String Chain
文章作者:Tyan博客:noahsnail.com|CSDN|1.DescriptionLongestStringChain2.Solution解析:Version1,先根据字符串长度对数组排序,然后根据长度分到不同的组里,按长度遍历组,如果下一组的字符串长度比当前组多1个,则遍历两组的所有元素,满足条件前辈子串,则下一组子串的字符链长度在当前子串长度的基础上加1,其实就是一个广度优先搜索的过程。
SnailTyan
·
2024-08-29 23:13
leetcode
-2469|菜鸟提升日记20240828
题目:给你一个四舍五入到两位小数的非负浮点数celsius来表示温度,以摄氏度(Celsius)为单位。你需要将摄氏度转换为开氏度(Kelvin)和华氏度(Fahrenheit),并以数组ans=[kelvin,fahrenheit]的形式返回结果。返回数组ans。与实际答案误差不超过10-5的会视为正确答案。注意:开氏度=摄氏度+273.15华氏度=摄氏度*1.80+32.00示例1:输入:ce
霜见月九
·
2024-08-29 22:08
leetcode
算法
二叉树
专题刷题
二叉树
的层平均值题目637.
二叉树
的层平均值-力扣(
LeetCode
)解题思路使用三个集合,sums集合存储每层的总和,count集合存储每层的节点数,averages存储每层的平均值。
MogulNemenis
·
2024-08-29 21:56
深度优先
算法
二叉树
LeetCode
-050-Pow(x, n)
实现pow(x,n),即计算x的n次幂函数。示例1:输入:2.00000,10输出:1024.00000示例2:输入:2.10000,3输出:9.26100示例3:输入:2.00000,-2输出:0.25000解释:2-2=1/22=1/4=0.25说明:-100.0=1){//如果pow是奇数if((pow&0x1)==0x1){result*=x;}x*=x;//pow除以2pow>>=1;}
刻苦驴哝
·
2024-08-29 21:28
浅谈【数据结构】树与
二叉树
二
目录1、二叉排序树1.1
二叉树
排序树插入1.1.1两种插入方法1.1.2循环法1.1.3递归法1.2
二叉树
的打印1.3
二叉树
的结点删除1.4销毁
二叉树
1.5层次打印谢谢帅气美丽且优秀的你看完我的文章还要点赞
超级飞侠12138
·
2024-08-29 20:48
基础数据结构
数据结构
排序算法
算法
链表
c++
c语言
开发语言
【代码随想录训练营第42期 Day29打卡 贪心Part3 -
LeetCode
134. 加油站 135. 分发糖果 860.柠檬水找零 406.根据身高重建队列
目录一、做题心得二、题目与题解题目一:134.加油站题目链接题解1:暴力求解(失败版)题解2:贪心题目二:135.分发糖果题目链接题解:双维度贪心题目三:860.柠檬水找零题目链接题解:贪心题目四:406.根据身高重建队列题目链接题解:双维度贪心三、小结一、做题心得今天依旧是贪心章节的习题。贪心这一块难度比较大,今天接触到了双维度贪心这一类题型,旨在使用两个贪心策略完成这类题--135.分发糖果以
逝去的秋风
·
2024-08-29 17:30
代码随想录打卡
leetcode
算法
贪心
每日一题——贪心算法
860.柠檬水找零-力扣(
LeetCode
)这道题目乍一看可能没有什么头绪,但是当你仔细想想就会明白一个道理,那就是,《论电子支付的重要性》哈哈哈哈,言归正传,其实很简单无非就是找钱,因为他只会给你5块
斯外戈202
·
2024-08-29 15:22
每日一题
算法
代码训练营 Day16| 513.找左下角的值 | 112.路径总和 | 106.从中序后序遍历构造
二叉树
513.找左下角的值1.这题使用层序遍历会比递归要简单很多2.因为是要找左下角的值1.层序遍历是使用队列来分别辨别不同层的元素有那些2.最左边的值永远是第一个进入队列的,所以在while的内层循环设置一个判断条件即可获得该值importcollections#Definitionforabinarytreenode.#classTreeNode(object):#def__init__(self,
RatherDoMyMath_
·
2024-08-29 13:38
算法
python
数据结构
代码随想录 -- 哈希表 -- 四数之和
18.四数之和-力扣(
LeetCode
)思路:(与三数之和类似,在外面加一层循环)1.先将nums按升序排序2.初始状态:k=0,i=k+1,left=i+1,right=len(nums)-13.进入第一层
可别是个可爱鬼
·
2024-08-29 12:58
代码随想录
散列表
数据结构
算法
leetcode
python
Golang |
Leetcode
Golang题解之第380题O(1)时间插入、删除和获取随机元素
题目:题解:typeRandomizedSetstruct{nums[]intindicesmap[int]int}funcConstructor()RandomizedSet{returnRandomizedSet{[]int{},map[int]int{}}}func(rs*RandomizedSet)Insert(valint)bool{if_,ok:=rs.indices[val];ok{
__AtYou__
·
2024-08-29 09:15
经验分享
Golang
Leetcode
题解
LeetCode
Hot100:128、最长连续序列
题目:最长连续序列给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。方案一:哈希表classSolution{public:intlongestConsecutive(vector&nums){unordered_setS;for(inti=0;i
心瘾こころ
·
2024-08-29 09:39
leetcode
Hot100
leetcode
哈希算法
散列表
LeetCode
Hot100:283、移动零
题目:移动零给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。方案一:双指针classSolution{public:voidmoveZeroes(vector&nums){intj=0,cnt=0;//j:现在有用的位置指针//cnt:现在有几个0for(inti=0;i
心瘾こころ
·
2024-08-29 09:39
leetcode
Hot100
leetcode
算法
职场和发展
LeetCode
Hot100:11、盛最多水的容器
题目:盛最多水的容器给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。方案一:双指针思路介绍:对于样例[1,8,6,2,5,4,8,3,7]。我们用一个指针i指向第一个数,用指针j指向最后一个数。i指向1,j指向7。这两个指
心瘾こころ
·
2024-08-29 09:39
leetcode
Hot100
leetcode
算法
职场和发展
LeetCode
Hot100:1、两数之和
题目:两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。方案一:sort+双指针typedefpairPII;classSolution{public:vectortwoSum(vector&nums,inttarget
心瘾こころ
·
2024-08-29 09:38
leetcode
Hot100
leetcode
哈希算法
算法
代码随想录算法训练营第三十七天|
LeetCode
738.单调递增的数字
LeetCode
738单调递增的数字题目链接:738.单调递增的数字-力扣(
LeetCode
)【解题思路】需要采用从后往前的遍历如果发现该数字的前一位比后一位大,那么前一位就做-1处理,后一位变为9注意
小救星小然
·
2024-08-29 08:37
算法
leetcode
142.环形链表II
思路:双指针+哈希表双指针这里的类型是快慢指针,前面也说过,常用于查找链表的中点或者判断有无环的应用。首先用快慢指针一个走一个结点,一个走两个结点,判断这个链表有无环?如果没有,直接返回null;如果有,那么进行下面的操作:我们设置哈希表用来存放结点和结点的个数键值对。然后用一个指针遍历链表。当出现一个结点出现两次的时候,那么此结点就是环的入口结点。注意:只要不把哈希表的两个参数设为,而是把哈希表
是小Y啦
·
2024-08-29 08:37
leetcode
链表
算法
代码随想录算法训练营第三十三天|
LeetCode
1005.K次取反后最大化的数组和、
LeetCode
134. 加油站、
LeetCode
135. 分发糖果
#
LeetCode
1005.MaximiseSumOfArrayAfterKNegations#
LeetCode
1005.视频讲解:贪心算法,这不就是常识?还能叫贪心?
wIridescent-
·
2024-08-29 08:37
算法
代码随想录算法训练营第七天|
LeetCode
454.四数相加II、
LeetCode
383. 赎金信、
LeetCode
15. 三数之和、
LeetCode
18. 四数之和
#
LeetCode
454.4SumII#
LeetCode
454.视频讲解:学透哈希表,map使用有技巧!
wIridescent-
·
2024-08-29 08:07
算法
代码随想录算法训练营Day32||
Leetcode
56. 合并区间、 738.单调递增的数字、
一、合并区间简简单单,过了。先排序然后从第二组数据遍历数组,让后者的左边界为前二的最小值,右边界为前二的最大值,最后遇到不重叠返回前一组数据。最后把数组最后一个元素返回即可。classSolution{public:vector>result;vectorpath;staticboolcmp(vector&a,vector&b){if(a[0]==b[0])returna[1]>merge(vec
jiegongzhu3z
·
2024-08-29 08:06
算法
数据结构
监控
二叉树
[
LeetCode
]56.合并区间[
LeetCode
]56.合并区间文章解释[
LeetCode
]56.合并区间视频解释题目:以数组intervals表示若干个区间的集合,其中单个区间为intervals
dreamtang
·
2024-08-29 08:36
LeetCode
算法学习
算法
【代码随想录算法训练营第42期 第三十一天 |
LeetCode
56. 合并区间、738.单调递增的数字】
代码随想录算法训练营第42期第三十一天|
LeetCode
56.合并区间、738.单调递增的数字一、56.合并区间解题代码C++:classSolution{public:vector>merge(vector
天.真
·
2024-08-29 08:06
算法
数据结构
代码随想录算法训练营第九天 |
LeetCode
28
文章目录前言一、
LeetCode
28总结前言
LeetCode
题目:
LeetCode
28Takeaway:KMP算法。一、
LeetCode
28经典KMP算法题,理解很重要。
Bingjiaokong
·
2024-08-29 08:05
随想录刷题
leetcode
算法
职场和发展
代码随想录训练营第37天 |
LeetCode
738.单调递增的数字、
LeetCode
968.监控
二叉树
、
目录
LeetCode
738.单调递增的数字文章讲解:代码随想录(programmercarl.com)视频讲解:贪心算法,思路不难想,但代码不好写!
A_2847443402
·
2024-08-29 08:35
leetcode
算法
职场和发展
Leetcode
42接雨水(单调栈)
题目题目链接解法一求出前缀最大和后缀最大,用两者较小值减去当前高度,累加即可,这个思路容易想到,这里不赘述classSolution{public:inttrap(vector&height){vectorpreMx(height.size()),postMx(height.size());intmx=0;for(inti=0;i=0;i--){postMx[i]=mx;mx=max(mx,hei
我的Doraemon
·
2024-08-29 08:35
Leetcode刷题
算法
Leetcode
22. 括号生成 回溯 C++实现
Leetcode
22.括号生成问题:数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。算法:创建返回数组ans,和临时变量path。
重生之我是数学王子
·
2024-08-29 08:05
算法
Leetcode
深度优先
算法
图论
leetcode
c++
数据结构
JavaScript——
leetcode
剑指offer 53 - I. 在排序数组中查找数字 I
JavaScript——
leetcode
剑指offer53-I.在排序数组中查找数字I题目描述统计一个数字在排序数组中出现的次数。
周三有雨
·
2024-08-29 06:22
算法
leetcode
javascript
排序算法
排序算法之堆排序详细解读(附带Java代码解读)
堆是一种特殊的完全
二叉树
,堆排序的基本思想是将数组构建成一个最大堆(或最小堆),然后通过交换根节点和堆的最后一个元素,将最大(或最小)元素移到数组的末尾。
南城花随雪。
·
2024-08-29 05:11
算法分析
排序算法
java
算法
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他