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算法题集
LeetCode
701. 二叉搜索树中的插入操作
1题目描述给定二叉搜索树(BST)的根节点root和要插入树中的值value,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。你可以返回任意有效的结果。示例1:输入:root=[4,2,7,1,3],val=5输出:[4,2,7,1,3,5]解释:另一个满足题目要求可以
Alfred_XiaJL
·
2024-01-27 04:14
算法
算法
二叉搜索树的插入
Leetcode
450. 删除二叉搜索树中的节点
删除结点的算法如下:如果目标节点大于当前节点值,则去右子树中删除;如果目标节点小于当前节点值,则去左子树中删除;如果目标节点就是当前节点,分为以下三种情况:(1)左子树为空:其右子顶替其位置,删除了该节点;(2)右子树为空:其左子顶替其位置,删除了该节点;(3)左右子树均不为空:其左子树转移到其右子树的最左节点的左子树上,然后右子树顶替其位置,即删除该节点。实现代码如下:classSolution
maplesea7
·
2024-01-27 04:44
leetcode
算法
职场和发展
Leetcode
669. 修剪二叉搜索树
可用递归法:如果root.val小于边界值low,则root的左子树必然也小于low,只需递归处理root.right;如果root.val大于边界值high,则root右子树必然也大于high,只需递归处理root.left;如果root.val在范围内,则root被保留,分别递归处理root.left和root.right。实现代码如下:classSolution{publicTreeNode
maplesea7
·
2024-01-27 04:44
leetcode
算法
职场和发展
leetcode
701. 二叉搜索树中的插入操作
1.题目描述:给定二叉搜索树(BST)的根节点root和要插入树中的值value,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。2.改变原二叉搜索树结构的解法:首先,找到插入节点的父节点,也就是中序遍历最后一个小于插入值insNode的节点pre(前驱节点),插入有两
kkkkuuga
·
2024-01-27 04:44
树
leetcode
算法
数据结构
java
树结构
Leetcode
701. 二叉搜索树中的插入操作
递归法:首先考虑树为空的情况,只要返回一个值为val的结点即可;当树不为空时,插入的算法为:当val小于root.val,往下寻找左子树,即用root.left递归;当val大于root.val(val值一定不等),往下寻找右子树,即用root.right递归;直到找到一个null,说明可以在此插入值为val的结点了。有两个地方需要去考虑,一是插入前记录父节点的位置,二是记录上一个递归是左儿子还是
maplesea7
·
2024-01-27 04:43
leetcode
算法
职场和发展
Leetcode
236.二叉树的最近共同祖先
给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”题解:本题我最开始的思路是先分情况讨论,分为两种情况:其中一个结点是另一个结点的祖先,则返回结果是那个祖先结点两结点另有共同的祖先,需要找出最近的祖先但在后续找共同祖先的时候,又
maplesea7
·
2024-01-27 04:43
leetcode
深度优先
算法
leetcode
打卡笔记(每天更新......)
1、移除链表元素funcremoveElements(head*ListNode,valint)*ListNode{p:=&ListNode{}p.Next=headpre:=pcur:=headforcur!=nil{ifcur.Val==val{pre.Next=cur.Nextcur=cur.Next}else{pre=curcur=cur.Next}}returnp.Next}2、设计链表
葡萄爱写代码(备战秋招版)
·
2024-01-27 04:43
leetcode
笔记
算法
go
后端
LeetCode
刷题分类之链表21 合并两个有序链表
21合并两个有序链表将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4,1->3->4输出:1->1->2->3->4->4解题思路分析递归法递归对于算法菜鸟来说就是属于那种一看就会,一用就废的。这里我提供一种递归的思路,先用正常人类的想法,去想遇到这类算法题,你本身想怎么解决,并从中一点一点进行归纳,找到递归点。首先将两个升序链
逍遥白亦
·
2024-01-27 03:22
每日OJ题_算法_二分查找⑥_力扣162. 寻找峰值
目录力扣162.寻找峰值解析代码力扣162.寻找峰值162.寻找峰值-力扣(
LeetCode
)难度中等峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组nums,找到峰值元素并返回其索引。
GR鲸鱼不跑步
·
2024-01-27 03:01
每日OJ题
算法
leetcode
数据结构
c++
二分查找
每日OJ题_算法_二分查找⑤_力扣852. 山脉数组的峰顶索引
目录力扣35.搜索插入位置解析代码力扣852.山脉数组的峰顶索引852.山脉数组的峰顶索引-力扣(
LeetCode
)LCR069.山脉数组的峰顶索引-力扣(
LeetCode
)难度中等给定一个排序数组和一个目标值
GR鲸鱼不跑步
·
2024-01-27 03:01
每日OJ题
算法
leetcode
数据结构
c++
二分查找
leetcode
279. 完全平方数
题目:Givenanintegern,returntheleastnumberofperfectsquarenumbersthatsumton.Aperfectsquareisanintegerthatisthesquareofaninteger;inotherwords,itistheproductofsomeintegerwithitself.Forexample,1,4,9,and16are
秸秆混凝烧结工程师
·
2024-01-27 02:46
leetcode
--114--二叉树展开为链表
例如,给定二叉树1/25/\346将其展开为:123456链接:https://
leetcode
-cn.com/problems/flatten-binary-tree-to-linked-list思路
minningl
·
2024-01-27 02:39
leetcode
:367. 有效的完全平方数
题目来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com/problems/valid-perfect-square给定一个正整数num,编写一个函数,如果num是一个完全平方数
uncle_ll
·
2024-01-27 01:23
编程练习-Leetcode
leetcode
算法
二分法
完全平方数
367.有效的完全平方数 (力扣
leetcode
) 博主可答疑该问题
一、笔记部分此题跟开平方根比较像,开平方根是二分查找,i*i与n作为左右界限的加减。直到l,r重合。1.用二分找数,如果找到相等的就返回。2.发现平方数的差值是一系列的等差数列。这种等差遍历速度太慢了。二、数学计算类型的高频面试题汇总:https://blog.csdn.net/qq_40262372/article/details/112784753三、各种类型的高频面试题汇总:https://
万小猿
·
2024-01-27 01:53
刷题
平方数
面试
java
leetcode
力扣
Leetcode
:279. 完全平方数
目录解法一:动态规划解法二:四平方和定理解法一:动态规划对于一个数n来说,要求完全平方数的数量,它的完全平方数必然在区间(根号下n需要向下取整)。那么对于在这个区间内的数m,必然满足在这种情况下,n的完全平方数的数量(用f(n)表示)为:要求最少的数量,那就要比较这个区间里的所有元素,找出一个最少的来,所以,令表示正整数n的最少数量的完全平方和。则其中m=sqrt(n)向下取整。c++代码:cla
奔跑的梅花Lu
·
2024-01-27 01:53
leetcode
动态规划
279.完全平方数(力扣
leetcode
) 博主可答疑该问题
一、笔记部分思路:1.先列出小于n的所有平方数,用一个容器装入,之后遍历找出。2.再用n的遍历去从1的容器中找,直到余数等于容器里的值queue=next_queue直接全部覆盖,直接让queue成为next_queue1.2、用set集合的因为,在同一级别可能减出来的值会出现一样的。因为quece是多个,square也是多个,所以很有可能减出来的值相同。所以用set存下一个要遍历的值。3、将qu
万小猿
·
2024-01-27 01:52
刷题
广度搜索
leetcode
面试
java
90、
LeetCode
之Subsets II 题解
原题Givenacollectionofintegersthatmightcontainduplicates,nums,returnallpossiblesubsets(thepowerset).Note:Thesolutionsetmustnotcontainduplicatesubsets.Forexample,Ifnums=[1,2,2],asolutionis:[[2],[1],[1,2,
guoweikuang
·
2024-01-27 01:43
LeetCode
第7题:整数反转
LeetCode
第
itLaity
·
2024-01-27 01:22
LeetCode
leetcode
算法
职场和发展
力扣
LeetCode
算法题 第7题-整数反转
题目要求:/***7.整数反转**给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。**如果反转后整数超过32位的有符号整数的范围 [−231, 231 −1],就返回0。**假设环境不允许存储64位整数(有符号或无符号)。*示例1:**输入:x=123*输出:321*示例2:**输入:x=-123*输出:-321*示例3:**输入:x=120*输出:21*示例4:**输入:x=0*
逼哥很疯狂
·
2024-01-27 01:22
力扣Leetcode算法
java进阶
算法
leetcode
数据结构
最小覆盖子串(
Leetcode
76)
例题:分析:比如现在有字符串(s),s="ADOBECODEBANC",给出目标字符串t="ABC",题目就是要从原始字符串(s)中找到一个子串(res)可以覆盖目标字符串t,子串"BANC"恰能覆盖字符串t,且长度最短,符合题目要求。我们可以结合下图来分析:先定义两个变量i,j,一开始,i和j都指向原始字符串的0索引处,看看此时i~j范围内的字符串是否满足目标字符串(t),如果不满足,则j指针往
丶lemon7
·
2024-01-27 01:21
Leetcode算法题
java
算法
leetcode
367.有效的完全平方数(力扣
LeetCode
)
367.有效的完全平方数题目描述给你一个正整数num。如果num是一个完全平方数,则返回true,否则返回false。完全平方数是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。不能使用任何内置的库函数,如sqrt。示例1:输入:num=16输出:true解释:返回true,因为4*4=16且4是一个整数。示例2:输入:num=14输出:false解释:返回false,
林海绮律
·
2024-01-27 01:21
leetcode
leetcode
算法
数据结构
c++
二分
LeetCode
_13_简单_罗马数字转整数
文章目录1.题目2.思路及代码实现(Python)2.1模拟1.题目罗马数字包含以下七种字符:III,VVV,XXX,LLL,CCC,DDD和MMM。字符数值III1VVV5XXX10LLL50CCC100DDD500MMM1000例如,罗马数字2写做IIIIII,即为两个并列的1。12写做XIIXIIXII,即为X+IIX+IIX+II。27写做XXVIIXXVIIXXVII,即为XX+V+II
Lins号丹
·
2024-01-27 01:51
LeetCode进阶之路
leetcode
算法
整数反转算法(
leetcode
第7题)
题目描述:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过32位的有符号整数的范围[−231,231−1],就返回0。假设环境不允许存储64位整数(有符号或无符号)。示例1:输入:x=123输出:321示例2:输入:x=-123输出:-321示例3:输入:x=120输出:21示例4:输入:x=0输出:0提示:-231INT_MAX/10){return0;}int
蹲家宅宅
·
2024-01-27 01:51
算法
算法
leetcode
职场和发展
leetcode
hot100 全排列
在本题中,是要求我们求一个不重复数组的全排列,那么全排列,一定是长度和数组长度一致的,并且,排列问题是有顺序的,即1,2,3和1,3,2是两个不同的排列。那么,本题也可以用回溯来做,但是,和之前的组合问题中的回溯不太一样,组合中为了避免产生相同元素不同顺序的情况,采用了startIndex来进行避免,即下一次递归从startIndex+1开始,这样能够避免选取到之前已经选取过的元素了。但是,本题是
buptlzl
·
2024-01-27 01:38
leetcode
算法
数据结构
leetcode
hot100分割回文串
本题是要求将给定的字符串进行分割,返回分割的回文串子串。那么我们以下图假设由此可以看出,这就是一个组合问题,所以可以根据回溯算法来解决。同时,我们应该知道,在本题中,树的宽度是由给定的字符串的长度决定的,需要用for循环来进行遍历,递归用来纵向遍历,来进行更细粒度的切割。那么我们需要确定参数,我们需要字符串S,然后还需要一个开始切割位置的索引;然后,我们需要判断终止条件,也就是,当我们这个切割的索
buptlzl
·
2024-01-27 01:08
leetcode
算法
职场和发展
leetcode
hot100子集
在本题中,是要求一个集合的子集,那么可以采用回溯算法来进行解决。但是,这里和之前的组合问题不同的地方在于,这里并没有明确给出k的值,也就是说没有明确告诉每一个结果中所含有的数字的个数。那么,也就是说,只要其长度小于整个集合,都是子集,而且空集也是子集。以往回溯算法的组合问题,我们都是在叶子节点才收割结果的,因为只有向下递归k层之后,才能得到想要的组合。但是这个题中,我们在每一个节点都需要收割结果,
buptlzl
·
2024-01-27 01:08
leetcode
算法
职场和发展
leetcode
hot100组合
在本题中,是要求返回[1,n]这个数组的长度为k的组合。涉及到排列、组合、棋盘、分割等问题的时候,要考虑利用回溯来进行解决。回溯和递归类似,也分为三步进行分析确定递归函数的返回值和参数:一般来说返回值都是void,参数就需要根据题目来判断了。确定递归的终止条件确定单层处理的逻辑那么一般的回溯题目都是可以套用模板的voidbacktracking(参数){if(终止条件){存放结果;return;}
buptlzl
·
2024-01-27 01:37
leetcode
算法
职场和发展
[
LeetCode
] 406. Queue Reconstruction by Height (medium)
原题思路:一开始完全没有思路。。看了别人的思路才解出来。先按照他们的高度从高到低(因为我后面用的从前往后遍历插入,当然也可以从低到高)排序,如果高度一样,那么按照k值从小到大排序。排完序后我们可以注意到这样一个事实:如果我们按照先处理身最高的,那他们的k值就是他们所应该在的位置——因为已经没有比他们更高的了。所以我们从高度从高到低按照k值的位置一直插入到答案中即可。classSolution{pu
弱花
·
2024-01-27 01:40
leetcode
:二叉树的中序遍历(外加先序,后序遍历)
题外:另外三种遍历可以看这:层序遍历:
Leetcode
:二分搜索树层次遍历-CSDN博客先序遍历:二叉树的先序,中序,后序遍历-CSDN博客后序遍历:二叉树的先序,中序,后序遍历-CSDN博客题目:给定一个二叉树的根节点
李明(#)
·
2024-01-27 00:24
leetcode
算法
职场和发展
Leetcode
-树的遍历
文章目录q94二叉树的中序遍历q102二叉树的层次遍历q105从前序与中序遍历序列构造二叉树q106从中序与后序遍历序列构造二叉树q110平衡二叉树q114二叉树展开为链表q124二叉树中的最大路径和q144二叉树的前序遍历q145二叉树的后序遍历q297二叉树的序列化与反序列化q543二叉树的直径q617合并二叉树q1367二叉树中的链表剑指Offer07.重建二叉树剑指Offer26.树的子结
jenrain
·
2024-01-27 00:24
LeetCode
leetcode
leetcode
:二叉树的前中后序遍历非递归实现,以及根据前中后序构造二叉树
/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):val(x),left(NULL),right(NULL){}*};*/classSolution{public:vectorpreorderTraversal(TreeNode*root){
le119126
·
2024-01-27 00:23
数据结构
算法
leetcode
二叉树
LeetCode
-429. N 叉树的层序遍历【层序遍历代码模板】
题目描述:push可以都改为emplace效率更高!!!给定一个N叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由null值分隔(参见示例)。输入:root=[1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]输入:root=[1,null,2,3,4,5,null,null,6,7,null,8,null,9
旋转的油纸伞
·
2024-01-27 00:23
算法题
leetcode
c++
数据结构
算法
面试
Leetcode
:二分搜索树层次遍历
题目:给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例:示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]提示:树中节点数目在范围[0,2000]内-1000>levelOrder(TreeNoderoot)
李明(#)
·
2024-01-27 00:53
leetcode
算法
职场和发展
java
数据结构
LeetCode
刷题总结 【未完待续】
双指针快慢指针27.移除元素26.删除有序数组中的重复项左右指针排序快速排序位运算2859.计算K置位下标对应元素的和
Léon's Blog
·
2024-01-27 00:28
leetcode
算法
职场和发展
每日一题——
LeetCode
2859.计算K置位下标对应元素的和
方法一枚举法:通过不断地将目标数值与1进行按位与操作,并根据结果判断最低位是否为1,从而统计其中包含的1的个数。如果1的个数等于K就加上该值。varsumIndicesWithKSetBits=function(nums,k){functioncountOnes(num){letcount=0;//初始化为零while(num!==0){if((num&1)===1){//判断最低位是否为1cou
zbsnzj
·
2024-01-26 23:42
每日一题
算法
javascript
leetcode
每日一题——
LeetCode
1337.矩阵中战斗力最弱的K行
方法一个人方法排序题目要求就是找出每行有多少个1,根据每行1的个数进行排序,但是是把每行在数组中的位置索引进行排序,并返回前k项所以先统计每行1的个数,并将数组转化为[index,count]就是索引加个数的数组形式,再利用自定义sort()针对数组中count的大小进行排序,最后返回排序后前k项的index索引varkWeakestRows=function(mat,k){letres=[],c
zbsnzj
·
2024-01-26 23:42
每日一题
算法
javascript
leetcode
力扣217:存在重复元素
归并排序力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台classSolution{publicbooleancontainsDuplicate(int[]nums){booleanflag=false
码见愁的小弟
·
2024-01-26 23:14
leetcode
算法
排序算法
力扣2:两数相加
力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台/***Definitionforsingly-linkedlist.
码见愁的小弟
·
2024-01-26 23:14
leetcode
算法
职场和发展
力扣20:有效的括号
力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台用栈解决classSolution{publicbooleanisValid(Strings){if(s.length()==0){returntrue
码见愁的小弟
·
2024-01-26 23:14
算法
力扣22:括号的生成
力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台classSolution{publicListgenerateParenthesis(intn){Listresult=newArrayListresult
码见愁的小弟
·
2024-01-26 23:14
leetcode
算法
职场和发展
力扣101(对称二叉树)
力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台classSolution{publicbooleanisSymmetric(TreeNoderoot){if(root==null){returntrue
码见愁的小弟
·
2024-01-26 23:44
leetcode
算法
职场和发展
力扣215(找出数组中第k大的值)
力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台classSolution{publicintfindKthLargest(int[]nums,intk){//利用堆解决://1.向小顶堆放入前
码见愁的小弟
·
2024-01-26 23:43
leetcode
算法
java
力扣145(前中后二叉树的遍历)
力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台classSolution{publicListpostorderTraversal(TreeNoderoot){Listlist=newArrayList
码见愁的小弟
·
2024-01-26 23:43
leetcode
算法
职场和发展
力扣295:数据流的中位数
力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台优先级队列,大小顶堆classMedianFinder{publicMedianFinder(){}publicvoidaddNum(intnum
码见愁的小弟
·
2024-01-26 23:42
java
前端
javascript
代码随想录刷题笔记-Day10
1.用栈实现队列232.用栈实现队列https://
leetcode
.cn/problems/implement-queue-using-stacks/description/请你仅使用两个栈实现先入先出队列
枯树老斑鸠
·
2024-01-26 22:39
代码随想录
算法
java
代码随想录刷题笔记-Day11
1.逆波兰表达式求值150.逆波兰表达式求值https://
leetcode
.cn/problems/evaluate-reverse-polish-notation/description/给你一个字符串数组
枯树老斑鸠
·
2024-01-26 22:39
代码随想录
笔记
算法
java
代码随想录刷题笔记-Day09
1.移除元素27.移除元素https://
leetcode
.cn/problems/remove-element/给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度
枯树老斑鸠
·
2024-01-26 22:09
代码随想录
笔记
算法
java
代码随想录刷题笔记-Day01
1.二分查找704.二分查找https://
leetcode
.cn/problems/binary-search/description/给定一个n个元素有序的(升序)整型数组nums和一个目标值target
枯树老斑鸠
·
2024-01-26 22:38
代码随想录
算法
代码随想录刷题笔记-Day02
1.有序数组的平方977.有序数组的平方https://
leetcode
.cn/problems/squares-of-a-sorted-array/description/给你一个按非递减顺序排序的整数数组
枯树老斑鸠
·
2024-01-26 22:38
代码随想录
算法
笔记
java
59.螺旋矩阵II(力扣
LeetCode
)
59.螺旋矩阵II题目描述给你一个正整数n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的nxn正方形矩阵matrix。示例1:输入:n=3输出:[[1,2,3],[8,9,4],[7,6,5]]示例2:输入:n=1输出:[[1]]提示:1>generateMatrix(intn){//初始化一个n*n的矩阵,所有元素值为0vector>num(n,vector(n,0));intk=
林海绮律
·
2024-01-26 22:06
leetcode
矩阵
leetcode
c++
上一页
79
80
81
82
83
84
85
86
下一页
按字母分类:
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
其他