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-中等难度
173. 二叉搜索树迭代器
173.二叉搜索树迭代器题目-
中等难度
示例1.列表解题目-
中等难度
实现一个二叉搜索树迭代器类BSTIterator,表示一个按中序遍历二叉搜索树(BST)的迭代器:BSTIterator(TreeNoderoot
Ashiu
·
2023-09-10 17:44
二叉树
算法
python
算法
二叉树
树
leetcode
leetcode-
二叉树【4,6,7need again】
leetcode-
二叉树二叉树的遍历方式1、二叉树的层序遍历(队列-done)2、二叉树的右视图(基于102,done)3、N叉树的层序遍历(基于102,done)4、填充每个节点的下一个右侧节点指针(
Xiaoshuang_Cao
·
2023-09-09 23:39
笔记
leetcode
深度优先
算法
二叉树层级遍历(深度优先、广度优先算法)
LeetCode102
中等难度
方法一:广度优先搜索思路和算法我们可以用广度优先搜索解决这个问题。
坚持学习永不言弃
·
2023-09-09 20:02
算法
深度优先
宽度优先
【
LeetCode-
中等题】22. 括号生成
文章目录题目方法一:递归:方法二:递归+回溯题目方法一:递归:递归入口空子结果集,左括号数目(初始为0),右括号数目(初始为0)递归出口若左括号大于n或者左括号数量大于右括号数量不符合题目要求结束递归剪枝若左括号数目和右括号数目都等于n说明符合条件结束递归递归方向dfsback(zre+‘(’,leftsum+1,rightsum);//左括号递归dfsback(zre+‘)’,leftsum,r
今天你写代码了吗??
·
2023-09-09 11:56
力扣
#
中等题
leetcode
算法
职场和发展
LeetCode Java刷题笔记—137. 只出现一次的数字 II
中等难度
。我们可以对每个二进制位单独计数,然后统计每个二进制位的1的计数值结果%3的结果,如果结果是0,则表示只出现一次的元素的当前位为0;如果结果是1,则表示只出现一次的元素的当前位为1。
刘Java
·
2023-09-09 09:17
java
137.
只出现一次的数字
leetcode
【
LeetCode-
中等题】79. 单词搜索
文章目录题目方法一:递归+回溯题目方法一:递归+回溯需要一个标记数组来标志格子字符是否被使用过了先找到word的第一个字符在表格中的位置,再开始递归递归的结束条件是如果word递归到了最后一个字符了,说明能在矩阵中找到单词剪枝条件就是如果已经找到单词了res=true了后面就不需要递归了,还有如果下标越界、当前格子被使用过了、或者当前格子字符不和当前wordIdenx相同都直接剪枝不往下递归了并且
今天你写代码了吗??
·
2023-09-09 07:15
力扣
#
中等题
leetcode
算法
职场和发展
LeetCode--HOT100题(48)
LeetCode做题链接:
LeetCode-
路径总和III示例1:输入:
爱学习的小健
·
2023-09-08 21:38
LeetCodeHot100
leetcode
算法
刷题
leetcode-
两数之和
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。示例2:输入:num
Daniel 大东
·
2023-09-08 15:40
leetcode
算法
职场和发展
【
LeetCode-
中等题】17. 电话号码的字母组合
文章目录题目方法一:递归+回溯题目方法一:递归+回溯参考讲解:还得用回溯算法!|LeetCode:17.电话号码的字母组合首先可以画出树图:先将数字对应的字符集合加入到一个map集合这里需要一个index来控制取数的范围,例如"23"第一次index==0代表取数字2并且根据2可以从map中取出2对应的字符串最终结果集在递归结束的时候收获,也就是要么index大于了数字字符串的长度或者就是最后的要
今天你写代码了吗??
·
2023-09-08 09:44
力扣
#
中等题
leetcode
linux
windows
【
LeetCode-
中等题】40. 组合总和 II
文章目录题目方法一:递归+回溯+去重题目本题需要注意的就是去重操作因为nums数组里面的元素可能存在重复:不重复的版本:【
LeetCode-
中等题】39.组合总和不去重版方法一:递归+回溯+去重参考讲解视频
今天你写代码了吗??
·
2023-09-08 08:10
力扣
#
中等题
leetcode
算法
职场和发展
【
LeetCode-
中等题】39. 组合总和
文章目录题目方法一:递归+回溯题目这题的nums数组里面不存在重复元素,所以也就无需做去重操作但同一个元素可以被无限次取,说明每次递归中的for循环的开始位置就是自己nums数组里面存在重复元素,去重版本:方法一:递归+回溯参考讲解视频:带你学透回溯算法-组合总和(对应「leetcode」力扣题目:39.组合总和)|回溯法精讲!List>res=newArrayList>combinationSu
今天你写代码了吗??
·
2023-09-08 07:08
力扣
#
中等题
leetcode
算法
职场和发展
Leetcode-
快慢指针遍历
文章目录q141环形链表q142环形链表iiq202快乐数q287寻找重复数q876链表的中间节点q141环形链表题目传送门题解该题目可以使用hash表,但是快慢指针解法更优。快指针的速度是慢指针的两倍,如果快慢指针进入环形链表中,那么快慢指针必定会重合。如果快指针指向nil,表示到了链表尾,不存在环形。funchasCycle(head*ListNode)bool{ifhead==nil||he
jenrain
·
2023-09-08 01:50
LeetCode
leetcode
leetcode-
两数之和
给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]代码/***@param{number[]}nums*@param{number}t
8239e604d437
·
2023-09-08 00:48
【
LeetCode-
中等题】90. 子集 II
并集问题汇总:题目方法一:递归加回溯(去重版)组合+并集问题汇总:1、子集非去重版本2、组合非去重版本3、组合去重版本题目本题nums数组存在重复元素,所以本题会涉及一个去重操作:子集无需去重版本:【
LeetCode
今天你写代码了吗??
·
2023-09-07 16:37
力扣
#
中等题
leetcode
算法
职场和发展
LeetCode-
无重复字符的最长字串-python
题目:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。主要思路:从头开始遍历,直到遇到重复的元素为止;再次循环字符串,从所寻找的上一个子串中重复元素所在位置的后一个位置开始遍历;每次遍历后比较子串长度记下最大的那个长度。classSolution:deflengthOfLongestSubstring(self,s:str)->int:length=len(s)#原数组长度leng=0
someday_oneday_
·
2023-09-07 15:12
leetcode-
链表类题目
文章目录链表(LinkedList)链表(LinkedList)定义:链表(LinkedList)是一种线性表数据结构,他用一组任意的存储单元来存储数据,同时存储当前数据元素的直接后继元素所存放的内存地址。操作插入和删除操作时间复杂度为O(1)随机访问第k个元素的时间复杂度为O(n)单链表:实现:数据域data+指针域next循环链表:实现:尾结点指针指向头结点优点:支持时间复杂度O(1)找到头结
Bai_Yin
·
2023-09-07 08:40
数据结构与算法
leetcode
链表
算法
【
LeetCode-
中等题】47. 全排列 II
文章目录题目方法一:递归+回溯+去重题目相比较46题:不需要去重:【
LeetCode-
中等题】46.全排列需要做出的改变就是:首先需要对待全排列的数组进行排序(为去重操作做准备)Arrays.sort(
今天你写代码了吗??
·
2023-09-07 07:40
力扣
#
中等题
leetcode
排序算法
算法
【
LeetCode-
中等题】78. 子集
文章目录题目方法一:动态规划方法二:递归加回溯(关键----startIndex)题目注意:这里的nums数组里面的元素是各不相同的,所以不存在去重操作方法一:动态规划publicList>subsets(int[]nums){List>res=newArrayList());//首先将空集加入解集中intn=nums.length;Listzres=null;for(inti=0;i(res.g
今天你写代码了吗??
·
2023-09-07 07:35
力扣
#
中等题
leetcode
算法
职场和发展
数据结构与算法究竟重要吗?3个月,靠着这份学习笔记,面试当场手写算法 15K-40K!
大大提高了我的算法能力,刷LeetCode
中等难度
的题目基本不会被卡住了,忍不住给大家也安利一波!(文末附数据结构与算法笔记下载地址
Android725
·
2023-09-07 07:38
互联网
数据结构与算法
移动开发
Android
面试
【
leetcode-
动态规划】斐波那契数
【
leetcode-
动态规划】斐波那契数题目:斐波那契数,通常用F(n)表示,形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。
攻城狮大兵
·
2023-09-06 22:16
LeetCode 力扣 117. 填充每个节点的下一个右侧节点指针 II
题目描述(
中等难度
)给定一个二叉树,然后每个节点有一个next指针,将它指向它右边的节点。和116题基本一样,区别在于之前是满二叉树。解法一BFS直接把116题题的代码复制过来就好,一句也不用改。
windliang
·
2023-09-06 14:24
【
LeetCode-
中等题】208. 实现 Trie (前缀树)
文章目录题目方法一:利用数组构建26叉树方法二:利用哈希表构建26叉树题目方法一:利用数组构建26叉树插入图示:全搜索和前缀搜索:注意:全局匹配匹配完直接返回插入时的标志位而前缀匹配时,匹配成功后直接返回true因为不需要往下匹配了匹配到空trie都统统直接返回false//方法一:利用数组存储孩子节点privateTrie[]children;//孩子数组privatebooleanisWord
今天你写代码了吗??
·
2023-09-06 11:22
力扣
#
中等题
leetcode
算法
职场和发展
【
LeetCode-
中等题】210. 课程表 II
文章目录题目方法一:bfs方法二:dfs题目这一题是在207题的基础上,要统计拓扑排序的顺序集合,所以只需要在207的基础上加入一个将拓扑排序的节点输出即可(有环无拓扑排序)【
LeetCode-
中等题】
今天你写代码了吗??
·
2023-09-06 11:52
力扣
#
中等题
leetcode
算法
职场和发展
【
LeetCode-
中等题】46. 全排列
文章目录题目方法一:递归+回溯题目这题中nums中的数各不相同,所以不需要去重:而下面这题,nums中的数会存在重复值,就需要去重:方法一:递归+回溯关键在于递归之后还要还原做回溯动作:path.add(nums[i]);//加入子结果集usered[i]=true;//将该位置标志位标为true往下不能取了backtrace(nums,path,usered);//往下面继续递归usered[i
今天你写代码了吗??
·
2023-09-06 11:50
力扣
#
中等题
leetcode
算法
职场和发展
Leetcode-
三角形最小路径和
题目描述给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点在这里指的是下标与上一层结点下标相同或者等于上一层结点下标+1的两个结点。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为11(即,2+3+5+1=11)。说明:如果你可以只使用O(n)的额外空间(n为三角形的总行数)来解决这个问题,那么你的算法会很加
不屈真实
·
2023-09-06 06:29
【
LeetCode-
面试经典150题-day21】
目录120.三角形最小路径和64.最小路径和63.不同路径Ⅱ5.最长回文子串120.三角形最小路径和题意:给定一个三角形triangle,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点在这里指的是下标与上一层结点下标相同或者等于上一层结点下标+1的两个结点。也就是说,如果正位于当前行的下标i,那么下一步可以移动到下一行的下标i或i+1。【输入样例】triangle=[[
badgirl-bb
·
2023-09-05 07:24
LeetCode
leetcode
面试
算法
LeetCode 力扣 137. 只出现一次的数字 II
题目描述(
中等难度
)136题的升级版,这个题的话意思是,每个数字都出现了3次,只有一个数字出现了1次,找出这个数字。同样要求时间复杂度为O(n),空间复杂度为O(1)。
windliang
·
2023-09-04 23:47
LeetCode-
【回溯】电话号码的字母组合
题目描述题目分析此题引出”回溯“的模板代码python实现classSolution:defletterCombinations(self,digits:str)->List[str]:'''#队列ifnotdigits:return[]phone=["abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]queue=[""]#初始化队列fordigit
Name.delete()
·
2023-09-04 15:18
leetcode
算法
职场和发展
leetcode-
中等题-17. 电话号码的字母组合(回溯三)
https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/submissions/这道题目涉及到了字符String的相关操作,很久没回忆了,有点生疏,不过最后还是可以自己做出来了。需要注意以下几点:String的长度需要变化的时候,记得使用StringBuilder类,而不是Linkedlist字符的'1','2'
DC妙妙屋
·
2023-09-04 15:47
算法
数据分析类学习
leetcode
算法
回溯
【
LeetCode-
中等题】207. 课程表
文章目录题目方法一:bfs广度优先+有向图的拓扑排序(入度)方法二:dfs深度优先搜索题目此题就可以转换为,求一个有向图是否存在环;存在环,拓扑排序得出的结果是不完整的,如果不存在环,则拓扑排序得出的结果就是完整的节点值(拓扑排序不唯一)怎么判断有环和无环,就看从任意一个点出发,按照箭头方向走,会不会走到以及走过的地方,如果是就是有环方法一:bfs广度优先+有向图的拓扑排序(入度)思路:将题目中的
今天你写代码了吗??
·
2023-09-04 11:20
力扣
#
中等题
leetcode
算法
职场和发展
【
LeetCode-
中等题】200. 岛屿数量
文章目录题目方法一:深度优先搜索dfs方法二:广度优先搜索bfs方法三:(重点掌握)并查集题目方法一:深度优先搜索dfs思路:让一个扫描指针扫描每一个格子,然后每扫到一个为1的格子,道与数量count+1,,并且对这个格子进行dfs(四个方向dfs)将此次格子的dfs周边的格子全部置为0,接着指针继续扫描下一个为1的格子,重复上面的动作。扫描整个二维网格。如果一个位置为1,则以其为起始节点开始进行
今天你写代码了吗??
·
2023-09-04 11:49
力扣
#
中等题
leetcode
算法
职场和发展
【
LeetCode-
中等题】994. 腐烂的橘子
文章目录题目方法一:bfs+层序遍历题目该题值推荐用bfs,因为是一层一层的感染,而不是一条线走到底的那种,所以深度优先搜索不适合方法一:bfs+层序遍历广度优先搜索,就是从起点出发,每次都尝试访问同一层的节点,如果同一层都访问完了,再访问下一层,最后广度优先搜索找到的路径就是从起点开始的最短合法路径。在该题:假设图中只有一个腐烂的橘子,它每分钟向外拓展,腐烂上下左右相邻的新鲜橘子,那么下一分钟,
今天你写代码了吗??
·
2023-09-04 11:17
#
中等题
力扣
leetcode
算法
职场和发展
【
LeetCode-
面试经典150题-day19】
目录39.组合总和22.括号生成79.单词搜索39.组合总和题意:给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为ta
badgirl-bb
·
2023-09-03 22:27
LeetCode
leetcode
面试
算法
【
LeetCode-
面试经典150题-day20】
目录70.爬楼梯198.打家劫舍139.单词拆分322.零钱兑换300.最长递增子序列70.爬楼梯题意:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?提示:1=2)count[1]=Math.max(nums[1],count[0]);for(inti=2;iwordDict){HashSetset=newHashSet(wordDict)
badgirl-bb
·
2023-09-03 22:27
LeetCode
leetcode
面试
算法
【
LeetCode-
面试经典150题-day18】
目录17.电话号码的字母组合77.组合46.全排列52.N皇后Ⅱ17.电话号码的字母组合题意:给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。【输入样例】digits="23"【输出样例】["ad","ae","af","bd","be","bf","cd","ce","cf"]classSol
badgirl-bb
·
2023-09-03 22:56
LeetCode
leetcode
java
算法
面试
Leetcode-86. Partition List
题目描述(
中等难度
)感觉中文翻译的比较晦涩,有点不好理解。
安替-AnTi
·
2023-09-02 07:51
LeetCode
LeetCode-
每日练习:最大二叉树
998.最大二叉树II最大树定义:一棵树,并满足:其中每个节点的值都大于其子树中的任何其他值。给你最大树的根节点root和一个整数val。就像之前的问题那样,给定的树是利用Construct(a)例程从列表a(root=Construct(a))递归地构建的:如果a为空,返回null。否则,令a[i]作为a的最大元素。创建一个值为a[i]的根节点root。root的左子树将被构建为Construc
ShowMeCoding
·
2023-09-01 13:33
【
LeetCode-
中等题】437. 路径总和 III
文章目录题目方法一:迭代层序+每层节点dfs维护一个count变量题目方法一:迭代层序+每层节点dfs维护一个count变量思路:层序遍历每一个节点遍历一个节点就对这个节点进行dfsdfs的同时,维护一个count变量,并且把每次路径节点进行累加,然后判断sum==target如果相等让count++直到当前节点的dfs结束后,再进行下一个节点的dfs最后输出count//方法一迭代层序+每层节点
今天你写代码了吗??
·
2023-08-31 23:36
力扣
#
中等题
leetcode
链表
算法
【
LeetCode-
中等题】105. 从前序与中序遍历序列构造二叉树
文章目录题目方法一:递归题目方法一:递归preorder=[3,9,20,15,7]inorder=[9,3,15,20,7]首先根据preorder找到根节点是3然后根据根节点将inorder分成左子树和右子树左子树inorder[9]右子树inorder[15,20,7]这时候3是根节点3的左子树为如下preorder[9]3的右子树为如下preorder[20157]现在我们只需要构造左子树
今天你写代码了吗??
·
2023-08-31 23:06
力扣
#
中等题
leetcode
算法
职场和发展
【
LeetCode-
中等题】236. 二叉树的最近公共祖先
文章目录题目方法一:后序遍历+回溯题目方法一:后序遍历+回溯解题的核心就是:采用后序遍历讨论p,q是否在当前的root的两边,如在两边则返回当前节点root如何不在两边,只要出现一个节点等于p或者q就返回当前节点//后序遍历+回溯publicTreeNodelowestCommonAncestor(TreeNoderoot,TreeNodep,TreeNodeq){if(root==null)re
今天你写代码了吗??
·
2023-08-31 23:02
力扣
#
中等题
leetcode
链表
算法
LeetCode--HOT100题(46)
LeetCode做题链接:
LeetCode-
二叉树展开为链表示例1:输入:r
爱学习的小健
·
2023-08-31 17:16
LeetCodeHot100
leetcode
算法
LeetCode--HOT100题(42)
LeetCode做题链接:
LeetCode-
两数之和示例1:输入:nums=[-10,-3,0
爱学习的小健
·
2023-08-31 17:45
LeetCodeHot100
leetcode
算法
LeetCode--HOT100题(44)
LeetCode做题链接:
LeetCode-
两数之和示例1:输入:root=[3,1,4,null,2],k=1输出:1示例2:输入:root=[5,3,6,2,4
爱学习的小健
·
2023-08-31 17:45
LeetCodeHot100
leetcode
算法
LeetCode--HOT100题(38)
LeetCode做题链接:
LeetCode-
翻转二叉树示例1:在这里插入图片描述输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输出
爱学习的小健
·
2023-08-31 17:45
LeetCodeHot100
leetcode
算法
LeetCode--HOT100题(40)
LeetCode做题链接:
LeetCode-
两数之和示例1:输入:root=[1,2,3,4,5]输出:3解释:3,取
爱学习的小健
·
2023-08-31 17:43
LeetCodeHot100
leetcode
算法
【
LeetCode-
中等题】114. 二叉树展开为链表
文章目录题目方法一:前序遍历(构造集合)+集合(构造新树)方法二:原地构建方法三:前序遍历--迭代(构造集合)+集合(构造新树)题目方法一:前序遍历(构造集合)+集合(构造新树)Listres=newArrayListres=newArrayListstack=newLinkedList<>();while(!stack.isEmpty()||root!=null){while(root!=nul
今天你写代码了吗??
·
2023-08-31 09:03
力扣
#
中等题
leetcode
算法
链表
【
LeetCode-
中等题】98. 验证二叉搜索树
文章目录题目方法一:BFS层序遍历方法二:递归方法三:中序遍历(栈)方法四:中序遍历(递归)题目思路就是首先得知道什么是二叉搜索树左孩子在(父节点的最小值,父节点)区间内右孩子在(父节点,父节点的最大值)区间内只要满足这两点就行方法一:BFS层序遍历利用层序遍历拿到每一个节点并且给每一个结点配备一个最大值和最小值的队列只要节点在最大值和最小值之间就满足二叉搜索树的条件publicbooleanis
今天你写代码了吗??
·
2023-08-31 09:32
力扣
#
中等题
链表
leetcode
【
LeetCode-
中等题】230. 二叉搜索树中第K小的元素
文章目录题目方法一:层序遍历+集合排序方法二:中序遍历(栈或者递归)方法三(方法二改进):中序遍历(栈)题目该题最大的特点就是这个树是二叉树:所以,中序遍历对二叉树的遍历本身就是有序的方法一:层序遍历+集合排序思想很简单,就是通过层序遍历将节点都加到List集合中,然后调用Collections.sort(list)排序后,找第k小的数list.get(k-1)publicintkthSmalle
今天你写代码了吗??
·
2023-08-31 09:32
力扣
#
中等题
leetcode
链表
算法
LeetCode Java刷题笔记—199. 二叉树的右视图
中等难度
。这道题所谓的右视图,实际上就是求二叉树的每一层的最右侧节点。那么最简单的是我们使用从右到左的BFS层序遍历即可,获取每一层的第一个节点并加入结果集合。
刘Java
·
2023-08-31 09:02
java
leetcode
深度优先
199.
二叉树的右视图
【
LeetCode-
中等题】199. 二叉树的右视图
文章目录题目方法一:层序遍历取每一层最后一个元素方法二:深度优先搜索题目方法一:层序遍历取每一层最后一个元素//方法一:层序+集合(取每层子集合最后一个元素)//List>Rlist=newArrayListrightSideView(TreeNoderoot){//if(root==null)returnnewArrayListqueue=newArrayDequeres=newArrayLis
今天你写代码了吗??
·
2023-08-31 08:58
力扣
#
中等题
leetcode
链表
算法
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他