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二叉树
二叉树
的最近公共祖先
一、力扣题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
刷题Day1
欢迎来到小田代码世界~喜欢的小伙伴记得一键三连哦૮(˶ᵔᵕᵔ˶)ა一.题目:1.两数之和-力扣(
LeetCode
)二.算法和代码:1.暴力法:(c)2.哈希表:(python)一.题目:1.两数之和-力扣
小田爱学编程
·
2024-02-20 20:14
刷题日记
算法
c语言
力扣
python
【
LeetCode
+JavaGuide打卡】Day20|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236.
二叉树
的最近公共祖先
学习目标:530.二叉搜索树的最小绝对差501.二叉搜索树中的众数236.
二叉树
的最近公共祖先学习内容:530.二叉搜索树的最小绝对差题目链接&&文章讲解给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值
WhoAmI\
·
2024-02-20 20:44
leetcode
算法
职场和发展
【力扣每日一题】力扣590N叉树的后序遍历
思路分析前面几篇博客讲过了
二叉树
和N叉树的各种遍历方式。这道题目也是一样的。
写做四月一日的四月一日
·
2024-02-20 20:10
leetcode
算法
java
【力扣每日一题】力扣105从前序与中序遍历序列构造
二叉树
题目来源力扣105从前序与中序遍历序列构造
二叉树
题目概述给定两个整数数组preorder和inorder,其中preorder是
二叉树
的先序遍历,inorder是同一棵树的中序遍历,请构造
二叉树
并返回其根节点
写做四月一日的四月一日
·
2024-02-20 19:06
leetcode
算法
java
c++
leetcode
148. 排序链表 java解法
Problem:148.排序链表思路这是一个链表排序的问题,由于要求时间复杂度为O(nlogn),适合使用归并排序(MergeSort)来解决。解题方法首先,使用快慢指针找到链表的中间节点,将链表分成两部分。然后,递归地对两个子链表进行排序。最后,合并两个有序的子链表。复杂度时间复杂度:O(nlogn)空间复杂度:O(logn)(递归调用栈的深度)Code/***Definitionforsing
程序员阿伦
·
2024-02-20 19:06
leetcode
链表
java
力扣:
二叉树
的遍历java
力扣:
二叉树
的遍历java遍历
二叉树
分两类:广度优先遍历(按层遍历),深度优先遍历(先中后序遍历),此文章为深度优先遍历,下一章为广度优先遍历。遍历方法有两种:递归,迭代。
秃小弟
·
2024-02-20 19:59
java
leetcode
算法
力扣
二叉树
中序遍历 (非递归) Python
#Definitionforabinarytreenode.#classTreeNode(object):#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=right测试系统已经定义好了结点,结点值是int类型,如果没有L/R,其值为None而不是样例给的null我的想法大致流
荷碧TongZJ
·
2024-02-20 19:59
数据结构与算法
leetcode
算法
python
b树
力扣144
二叉树
的前序遍历 Java版本
文章目录题目描述递归方法代码非递归方法代码题目描述给你
二叉树
的根节点root,返回它节点值的前序遍历。
远山凛凛
·
2024-02-20 19:29
LeetCode
leetcode
java
算法
力扣145
二叉树
的后序遍历 Java版本
文章目录题目描述递归解法代码非递归解法思路代码题目描述给你一棵
二叉树
的根节点root,返回其节点值的后序遍历。
远山凛凛
·
2024-02-20 19:29
LeetCode
leetcode
java
算法
力扣热门100题——
二叉树
的中序遍历(递归,迭代,Morris 中序遍历)
7、
二叉树
的中序遍历1.问题描述给定一个
二叉树
的根节点root,返回它的中序遍历。
humor2020
·
2024-02-20 19:58
力扣刷题
java
力扣
算法
力扣94
二叉树
的中序遍历 (Java版本) 递归、非递归
文章目录题目描述递归解法非递归解法题目描述给定一个
二叉树
的根节点root,返回它的中序遍历。
远山凛凛
·
2024-02-20 19:57
LeetCode
leetcode
java
Leetcode
697. Degree of an Array
文章作者:Tyan博客:noahsnail.com|CSDN|1.DescriptionDegreeofanArray2.SolutionVersion1fromcollectionsimportCounterclassSolution:deffindShortestSubArray(self,nums):stat=Counter(nums)degree=0result=len(nums)fork
SnailTyan
·
2024-02-20 19:28
「
leetcode
」77.组合【回溯算法】详解!
本文https://github.com/youngyangyang04/
leetcode
-master已经收录,里面还有
leetcode
刷题攻略、各个类型经典题目刷题顺序、思维导图,可以fork到自己仓库
代码随想录
·
2024-02-20 19:47
leecode题解
算法
数据结构
leetcode
回溯算法
Leetcode
77 组合
1.题目描述给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]1List[List[int]]:res=[]#存储符合条件结果的集合path=[]#用来存放符合条件的结果defbacktrack(n,k,StartIndex):iflen(path)==k:
独影月下酌酒
·
2024-02-20 19:45
数据结构
Leetcode
leetcode
算法
数据结构
回溯法详解以及剪枝优化 以
leetcode
77.组合问题为例
题目描述回溯法的简单介绍回溯法是为了一类特定的问题概括起来就是集合里面根据要求搜索集合(不止一个),拿
leetcode
77.来举例,可以用多层for循环进行构思,但是要多少层呢,同时层数太多会导致时间复杂度急剧增高
学不完了ccccc
·
2024-02-20 19:45
leetcode
c++
算法
数据结构
leetcode
77 组合 js
leetcode
77组合给定两个整数n和k,返回1…n中所有可能的k个数的组合。
一只蒻蒻
·
2024-02-20 19:15
数据结构与算法
数据结构
leetcode
算法
js
leetcode
77 组合-回溯加剪枝
给定两个整数n和k,返回1…n中所有可能的k个数的组合。示例:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]分析:此题为较简单,使用回溯加剪枝即可解决。首先我们分析递归函数的参数,需要一个pos来表示当前选取了多少个数,同时还需要一个参数curr来表示当前是对1…n中的哪个数进行操作,对于每个curr都可以有选和不选两种选择,分别递归下去即可
伟伟伟伟~
·
2024-02-20 19:44
leetcode刷题
剪枝
算法
java
leetcode
(力扣) 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,2][2,1]是一个答案,别
深度不学习!!
·
2024-02-20 19:43
个人笔记
交流学习
python
leetcode
1024程序员节
LeetCode
77—组合(java版)
题目描述:标签:回溯算法给定两个整数n和k,返回1...n中所有可能的k个数的组合。代码:思路分析:1、确定递归结束条件,path.size==k2、确定从左到右遍历,需要开始下标startIndex3、确定从上到下遍历,需要递归操作4、确定回溯条件,需要清除path里的元素这里需要注意的一点是不能写成result.add(path),要写成result.add(newArrayList(path
陈粑粑的小白鞋
·
2024-02-20 19:43
LeetCode
leetcode
LeetCode
39. 组合总和 回溯算法+剪枝
和216.组合总和III不同之处在于这题数组中的数字可以重复使用多次,并且没有数量要求。定义两个全局变量,result存放结果集,path存放任何条件的结果。index来指示开始的位置,length来记录每一个path数组的长度(因为每一个符合target的数组的长度不一样)。还是一样的回溯三部曲。参数:需要sum来计算总和和index来控制开始的位置。终止条件:当sum==target时,以及s
迷途小羔羊。
·
2024-02-20 19:41
LeetCode
算法
leetcode
剪枝
回溯
组合
LeetCode
77. 组合(剪枝策略的运用)
文章目录剪枝算法概述题目题解实现思路实现代码剪枝优化剪枝算法概述基本概念:在搜索算法中优化中,剪枝,就是通过某种判断,避免一些不必要的遍历过程,形象的说,就是剪去了搜索树中的某些“枝条”,故称剪枝。应用剪枝优化的核心问题是设计剪枝判断方法,即确定哪些枝条应当舍弃,哪些枝条应当保留的方法。剪枝的三个原则:正确、准确、高效剪枝的两种思路:可行性剪枝及最优性剪枝剪枝算法按照其判断思路可大致分成两类:可行
QuantumYou
·
2024-02-20 19:11
#
ICPC
洛谷
LeetCode
蓝桥杯
leetcode
剪枝
算法
LeetCode
77. 组合 回溯算法+剪枝
思路:回溯三部曲:定义两个全局变量,result存放结果集,path存放任何条件的结果。startIndex记录下一层递归搜索的起始位置。终止条件:当到达叶子节点,即pathTop==k时,result收集path,return。单层搜索过程。处理节点、递归函数、回溯操作。关于剪枝操作:画图可以观察出,要完成剪枝操作,只需在单层搜索过程中改动即可。搜索起点的上界=n-还需要的元素个数+1;即j<=
迷途小羔羊。
·
2024-02-20 19:11
LeetCode
算法
leetcode
c语言
回溯
组合
leetcode
回溯+剪枝(排列,组合,子集问题)
排列问题46.全排列给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例1:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]排列问题,采用回溯算法解决,首先将选择过程想成树型结构,并通过回溯,得到所有的结果。排列问题需要考虑顺序,此类回溯通用解法,设一个二维数组res保存所有
abysswatcher_1
·
2024-02-20 19:11
杂项
剪枝
算法
java
leetcode
Leetcode
(77)——组合
Leetcode
(77)——组合题目给定两个整数n和k,返回范围[1,n][1,n][1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。
SmileGuy17
·
2024-02-20 19:10
Leetcode
leetcode
深度优先
算法
LeetCode
77. 组合
系列文章目录回溯算法组合相关习题:
LeetCode
77.组合文章目录系列文章目录前言一、题目简介二、思想逻辑完整代码前言回溯算法之组合问题:N个数里面按一定规则找出k个数的集合一、题目简介给定两个整数n
NumberTwoPlayer
·
2024-02-20 19:39
LeetCode
回溯算法
leetcode
算法
java
剪枝
leetcode
77 组合
原题链接首先要定义结果集合res和判断集合长度的队列path,写终止条件,然后进入递归函数,最后返回结果集res递归函数部分:首先写终止条件,在什么条件下将结果集进行保存?res.add(newArrayList分析搜索起点的上界进行剪枝搜索起点的上界+接下来要选择的元素个数-1=n其中,接下来要选择的元素个数=k-path.size(),整理得到:搜索起点的上界=n-(k-path.size()
baj001
·
2024-02-20 19:39
回溯
leetcode
深度优先
算法
Leetcode
77. 组合(Java实现 超详细注释!)
Leetcode
77.组合回溯算法的入坑题,其实本质就递归暴力搜索+回退,我觉得这道题最难的点在于怎么剪枝(我其实在文中说的也不是很清楚,后面理解透了会回来补充完善!
Println30
·
2024-02-20 19:39
Leetcode
leetcode
leetcode
77组合 剪枝条件详细解释
题目:77.组合-力扣(
LeetCode
)题解:力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台思路来自代码随想录:带你学透回溯算法-组合问题(对应力扣题目:77.组合)|回溯法精讲!
猫鱼Ω
·
2024-02-20 19:07
leetcode刷题笔记
剪枝
算法
回溯
代码随想录
Leetcode
-657. 机器人能否返回原点
题目:在二维平面上,有一个机器人从原点(0,0)开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0,0)处结束。移动顺序由字符串moves表示。字符move[i]表示其第i次移动。机器人的有效动作有R(右),L(左),U(上)和D(下)。如果机器人在完成所有动作后返回原点,则返回true。否则,返回false。注意:机器人“面朝”的方向无关紧要。“R”将始终使机器人向右移动一次,“L”将
神探阿航
·
2024-02-20 19:33
java
leetcode
算法
职场和发展
Leetcode
1423.可获得的最大点数
文章目录题目原题链接思路(逆向思维)题目原题链接
Leetcode
1423.可获得的最大点数思路(逆向思维)由题目可知,从两侧选k张,总数为n张,即从中间选n-k张nums总和固定,要选k张最大的和,即从中间选
NuyoahC
·
2024-02-20 19:30
刷题
leetcode
算法
滑动窗口
滑动窗口(三)
Leetcode
30.串联所有单词的子串题目
Leetcode
30.串联所有单词的子串解法(滑动窗口)利用substr函数截取出来的s中截取出一段一段的单词,然后和words中比较是否相等。
NuyoahC
·
2024-02-20 19:59
算法
算法
c++
滑动窗口
LeetCode
| 0429. N 叉树的层序遍历【Python】
Problem
LeetCode
Givenann-arytree,returnthelevelordertraversalofitsnodes'values.Nary-Treeinputserializationisrepresentedintheirlevelordertraversal
Wonz
·
2024-02-20 18:13
代码随想录算法训练营第16天|● 104.
二叉树
的最大深度 559.n叉树的最大深度● 111.
二叉树
的最小深度● 222.完全
二叉树
的节点个数
104.
二叉树
的最大深度思路:
二叉树
求深度:从上往下遍历,前序遍历求高度:从下往上遍历,后序遍历本题的求最大高度和最大深度都一样,高度即深度。
strive340
·
2024-02-20 18:38
算法
数据结构
路径总和 113.路径总和ii● 106.从中序与后序遍历序列构造
二叉树
105.从前序与中序遍历序列构造
二叉树
513.找树左下角的值思路(递归):题意是找树的最后一行,最左边的值,所以不一定该节点是左孩子,也有可能是右孩子。本题不需要中的处理过程,所以前中后序遍历都可以,因为只需要左右的遍历顺序即可。用一个全局变量MaxDepth记录最大的深度,depth记录当前遍历的层数(所以需要回溯过程)。因为最先递归遍历左边,所以如果当第一次最大深度出现节点,则result一定记录的是最左值,再之后遍历如果最大深度
strive340
·
2024-02-20 18:08
算法
数据结构
代码随想录算法训练营第17天|110.平衡
二叉树
● 257.
二叉树
的所有路径 ● 404.左叶子之和
110.平衡
二叉树
为什么很多
二叉树
的题目都用后序遍历?因为左右中,可以把处理该节点放到最后,例如这题,只有得出了左右子树的高度,才能知道以该节点为根的子树是否为平衡
二叉树
。
strive340
·
2024-02-20 18:07
算法
数据结构
代码随想录算法训练营第19天|654.最大
二叉树
● 617.合并
二叉树
● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树
654.最大
二叉树
代码思路:构造
二叉树
一般都用前序遍历,中左右,可以优先处理构造中节点,再递归构造左右子树。题解分步:第一步.找到该数组中最大的元素,并记录其数组下标(方便分割数组),也是切割点。
strive340
·
2024-02-20 18:05
算法
数据结构
java
【18】只出现一次的数字
来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com/problems/single-number/题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次
公孙剑人
·
2024-02-20 18:21
LeetCode
//C - 435. Non-overlapping Intervals
435.Non-overlappingIntervalsGivenanarrayofintervalsintervalswhereintervals[i]=[starti,endi][start_i,end_i][starti,endi],returntheminimumnumberofintervalsyouneedtoremovetomaketherestoftheintervalsnon-o
Navigator_Z
·
2024-02-20 18:30
LeetCode
leetcode
c语言
算法
二叉树
的先序、中序、后序、层序遍历方式详解,由遍历序列构造
二叉树
过程详解以及C++代码详细实现
二叉树
的遍历树与
二叉树
的定义、性质,
二叉树
的顺序存储结构、链式存储结构
二叉树
的遍历是指按某条搜索路径访问树中每个结点,使得每个结点均被访问一次,而且仅被访问一次。
诗之本秋穂
·
2024-02-20 18:28
数据结构笔记
c++
算法
数据结构
【数据结构】18 二叉搜索树(查找,插入,删除)
它是一种对排序和查找都很有用的特殊
二叉树
。
abutu999
·
2024-02-20 18:58
数据结构
C\C++
数据结构
【数据结构】17
二叉树
的建立
二叉树
的建立由于树是非线性结构,创建一颗
二叉树
必须首先确定树中结点的输入顺序,常用方法是先序创建和层序创建。层序创建所用的节点输入序列是按数的从上至下从左到右的顺序形成的各层的空结点输入数值0。
abutu999
·
2024-02-20 18:27
数据结构
C\C++
数据结构
【数据结构】16
二叉树
的定义,性质,存储结构(以及先序、后序、中序遍历)
二叉树
一个
二叉树
是一个有穷的结点集合。它是由根节点和称为其左子树和右子树的两个不相交的
二叉树
组成的。
二叉树
可具有以下5种形态。
abutu999
·
2024-02-20 18:25
数据结构
C\C++
数据结构
算法
算法训练day29
Leetcode
491递增子序列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
算法
数据结构
2021-10-06
#IT工业界####1.牛客网:
二叉树
中和为某一值的路径[2021-10-06(JZ82
二叉树
中和为某一值的路径(一))](https://blog.csdn.net/TickTick123/article
幸福大黑鸭
·
2024-02-20 17:11
LeetCode
37天 | 738.单调递增的数字 贪心算法总结
738.单调递增的数字今天就做一题,监控
二叉树
不想做了。从后向前找到最终的一个前大于后的情况,记录后为修改起点,前为减一操作,后面都可以为9,因此前仅减一就可以了。
星仔007
·
2024-02-20 17:56
leetcode
贪心算法
算法
leetcode
435.无重叠区间(中等)
属于区间问题的第二类题。思路一:贪心实现细节:按照右端点从小到大排序。classSolution{public:staticboolcmp(constvector&v1,constvector&v2){returnv1[1]>&intervals){intn=intervals.size();sort(intervals.begin(),intervals.end(),cmp);intr=INT_
重you小垃
·
2024-02-20 16:05
#
贪心
leetcode435
无重叠区间
0区间问题中等
LeetCode
435. 无重叠区间
435.无重叠区间描述给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间[1,2]和[2,3]的边界相互“接触”,但没有相互重叠。分析模拟去重复区间的行为,这是比较麻烦的,还要去删除区间。可以逆向思考,求从左向右记录非交叉区间的个数。最后用区间总数减去非交叉区间的个数就是需要移除的区间个数了。如何求不相交的区间最多有多少个?*贪心思想
18阿鲁
·
2024-02-20 16:32
动态规划
leetcode
算法
435. 无重叠区间【贪心算法】
435.无重叠区间题目链接:https://
leetcode
-cn.com/problems/non-overlapping-intervals/给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠
coolshyman
·
2024-02-20 16:58
leetcode刷题
算法
leetcode
贪心算法
LeetCode
、435. 无重叠区间【中等,贪心 区间问题】
文章目录前言
LeetCode
、435.无重叠区间【中等,贪心区间问题】题目链接及分类思路贪心、区间问题资料获取前言博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者
长路 ㅤ
·
2024-02-20 16:24
算法刷题
#
LeetCode
leetcode
算法
职场和发展
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他