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高级算法
【算法训练营学习笔记-Week01】数组和链表的比较以及
LeetCode
的做题反思
数组和链表的异同相同点:两个都是线性的数据结构,是非常基础的数据结构,是后续高级数据结构的前提,例如树、图。队列和堆栈是操作受限的线性数据结构,前者先进先出,后者先进后出。这两种数据结构的底层既可以是数组,也可以是链表。覃超老师推荐使用双端队列,deque。不同点:数组占据内存中连续的部分,而链表对内存要求没有那么严格。数组能够随机访问任意一个位置,而链表则必须一个个遍历过去。两种数据结构查找时间
xuzhougeng
·
2024-02-09 22:21
leetcode
104. 二叉树的最大深度
题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。题解/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval){this.val=v
吃成一个大胖子1998
·
2024-02-09 21:16
深度优先
算法
leetcode
LeetCode
104. 二叉树的最大深度(java)
来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com/problems/maximum-depth-of-binary-tree著作权归领扣
喜欢喝雪碧的阿埋
·
2024-02-09 21:45
数据结构OJ
leetcode
数据结构
java
【
leetcode
】104. 二叉树的最大深度
题目链接104.二叉树的最大深度intmaxDepth(structTreeNode*root){if(root==NULL){return0;}//选出左子树和右子树中较高的树+根节点本身高度returnfmax(maxDepth(root->left),maxDepth(root->right))+1;}
念来过倒字名qwq
·
2024-02-09 21:15
Data
Structure
and
Algorithm
C语言
刷题
leetcode
算法
数据结构
c语言
283. 移动零
来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com/problems/move-zeroes著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请
Abeants
·
2024-02-09 21:53
C语言 力扣题解 106. 从中序与后序遍历序列构造二叉树
例如,给出中序遍历inorder=[9,3,15,20,7]后序遍历postorder=[9,15,7,20,3]返回如下的二叉树:3/\920/\157来源:力扣(
LeetCode
)链接:https:
是专家不是砖家
·
2024-02-09 21:40
力扣题解
C语言
二叉树
算法
leetcode
数据结构
螺旋矩阵
leetcode
54.
vectorspiralOrder(vector>&matrix){intl=0;//左边界intup=0;//上边界intr=matrix[0].size()-1;//右边界intdown=matrix.size()-1;//下边界vectorans;//结果数组,顺时针while(true){for(inti=l;idown)break;上边界往下for(inti=up;i=l;i--)ans
自律即自由w
·
2024-02-09 21:39
矩阵
算法
数据结构
找树左下角的值 - 力扣(
LeetCode
)
题目描述给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。题目示例输入:root=[2,1,3]输出:1解题思路深度优先搜索使用depth记录遍历到的节点的深度,result记录深度在depth的最左节点的值。在深度优先搜索时,我们先搜索当前节点的左子节点,再搜索当前节点的右子节点,然后判断当前节点的深度depth是否大于maxDepth,如果是,那
maybe_za
·
2024-02-09 21:09
leetcode
算法
二叉树
广度优先搜索
深度优先搜索
二叉树的最近公共祖先 - 力扣(
LeetCode
)
题目描述给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”题目示例输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=1输出:3解释:节点5和节点1的最近公共祖先是节点3。解题思路考虑通过递归
maybe_za
·
2024-02-09 21:09
leetcode
算法
职场和发展
从中序与后序遍历序列构造二叉树 - 力扣(
LeetCode
)
题目描述给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗二叉树。题目示例输入:inorder=[9,3,15,20,7],postorder=[9,15,7,20,3]输出:[3,9,20,null,null,15,7]解题思路参考代码classSolution{intpost_idx;int[]p
maybe_za
·
2024-02-09 20:08
leetcode
算法
二叉树
【SQL】力扣1445. 苹果和桔子
1445.苹果和桔子【SQL】力扣1445.苹果和桔子在本篇博客中,我们将深入探讨力扣(
LeetCode
)数据库题目1445——"苹果和桔子"的详细解题步骤。
扣柚
·
2024-02-09 20:16
力扣题目解析
sql
leetcode
数据库
动态一:斐波那契数
题目地址:https://
leetcode
-cn.com/problems/fibonacci-number/题目描述:斐波那契数,通常用F(n)表示,形成的序列称为斐波那契数列。
程一刀
·
2024-02-09 19:01
【动态规划】【前缀和】【数学】2338. 统计理想数组的数目
作者推荐【动态规划】【前缀和】【C++算法】LCP57.打地鼠本文涉及知识点动态规划汇总C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例包括课程视频
LeetCode
:2338.统计理想数组的数目给你两个整数
闻缺陷则喜何志丹
·
2024-02-09 19:58
#
算法题
动态规划
算法
c++
力扣
前缀和
数学
组合数学
【动态规划】【C++算法】2518. 好分区的数目
作者推荐【动态规划】【前缀和】【C++算法】LCP57.打地鼠本文涉及知识点动态规划汇总
LeetCode
:2518.好分区的数目给你一个正整数数组nums和一个整数k。
闻缺陷则喜何志丹
·
2024-02-09 19:58
#
算法题
算法
动态规划
c++
力扣
好分区
数目
分组
【动态规划】【C++算法】2188. 完成比赛的最少时间
作者推荐【动态规划】【前缀和】【C++算法】LCP57.打地鼠本文涉及知识点动态规划汇总
LeetCode
2188.完成比赛的最少时间给你一个下标从0开始的二维整数数组tires,其中tires[i]=[
闻缺陷则喜何志丹
·
2024-02-09 19:57
#
算法题
算法
动态规划
c++
力扣
比赛
最少时间
轮胎
Java字符串训练----
leetcode
翻转字符串里的单词
这一题很简单,但是还是有很多可以学习的东西在里面给定一个字符串,逐个翻转字符串中的每个单词。示例1:输入:“theskyisblue”输出:“blueisskythe”示例2:输入:"helloworld!"输出:“world!hello”解释:输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例3:输入:“agoodexample”输出:“examplegooda”解释:如
canaryW
·
2024-02-09 18:41
leetcode
[Java][算法 哈希]Day 01---
LeetCode
热题 100---01~03
LeetCode
热题100---01~03------->哈希第一题两数之和思路最直接的理解就是找出两个数的和等于目标数这两个数可以相同但是不能是同一个数字(从数组上理解就是内存上不是同一位置)解法一:
ZealSinger
·
2024-02-09 18:39
哈希算法
算法
leetcode
Permutations II [
leetcode
]
Givenacollectionofnumbersthatmightcontainduplicates,returnallpossibleuniquepermutations.Forexample,[1,1,2]havethefollowinguniquepermutations:[1,1,2],[1,2,1],and[2,1,1]前一篇文章讲了无重复元素的排列,这篇文章讲的是有重复元素的排列问题
是什么样的心情
·
2024-02-09 18:18
Leetcode
82 - Remove Duplicates from Sorted List II
题目:Givenasortedlinkedlist,deleteallnodesthathaveduplicatenumbers,leavingonlydistinctnumbersfromtheoriginallist.Example1:Input:1->2->3->3->4->4->5Output:1->2->5Example2:Input:1->1->1->2->3Output:2->3思路
BlueSkyBlue
·
2024-02-09 18:51
LeetCode
--代码详解 2341.数组能形成多少数对
2341.数组能形成多少数对题目给你一个下标从0开始的整数数组nums。在一步操作中,你可以执行以下步骤:从nums选出两个相等的整数从nums中移除这两个整数,形成一个数对请你在nums上多次执行此操作直到无法继续执行。返回一个下标从0开始、长度为2的整数数组answer作为答案,其中answer[0]是形成的数对数目,answer[1]是对nums尽可能执行上述操作后剩下的整数数目。示例1:输
Java之弟
·
2024-02-09 18:44
LeetCode
#
贪心算法
leetcode
算法
数据结构
力扣hot100 -- 双指针
目录移动零盛最多水的容器三数之和接雨水前缀和+辅助数组双指针单调栈移动零283.移动零-力扣(
LeetCode
)关于swap#include#include#includeintmain(){std::
千帐灯无此声
·
2024-02-09 18:40
#
力扣
hot
100
leetcode
算法
职场和发展
Leetcode
-122. 买卖股票的最佳时机 II
题目描述:给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:[7,1,5,3,6,4]输出:7解释:在第2天(股票价格=1)的时候买入,在第3天(股票价格=5)的时候卖出,这笔交易所能获得利润=5-1=4。随后,在第4天(
小刘一定要努力
·
2024-02-09 17:43
踩坑记录[7]——
LeetCode
160题:相交链表
踩坑记录[7]——
LeetCode
160题:相交链表题目描述题目链接给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。
Magic@
·
2024-02-09 17:40
leetcode
链表
算法
c++
踩坑记录[5]——
LeetCode
876题:链表的中间结点
踩坑记录[5]——
LeetCode
876题:链表的中间结点题目描述题目链接给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
Magic@
·
2024-02-09 17:09
leetcode
链表
算法
c++
踩坑记录[6]——
LeetCode
19题:删除链表的倒数第 N 个结点
踩坑记录[6]——
LeetCode
19题:删除链表的倒数第N个结点题目描述题目链接给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。
Magic@
·
2024-02-09 17:09
leetcode
链表
算法
c++
LeetCode
-108-将有序数组转换为二叉搜索树
LeetCode
-108-将有序数组转换为二叉搜索树108.将有序数组转换为二叉搜索树难度简单给你一个整数数组nums,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树。
蒋斌文
·
2024-02-09 17:12
LeetCode
#678 Valid Parenthesis String 有效的括号字符串
678ValidParenthesisString有效的括号字符串Description:Givenastringscontainingonlythreetypesofcharacters:'(',')'and'*',returntrueifsisvalid.Thefollowingrulesdefineavalidstring:Anyleftparenthesis'('musthaveacorr
air_melt
·
2024-02-09 17:36
leetcode
454. 四数相加 II
454.四数相加II-力扣(
LeetCode
)(
leetcode
-cn.com)https://
leetcode
-cn.com/problems/4sum-ii/先遍历前两个数组元素之间的和,然后记录到
吴同学写Bug
·
2024-02-09 17:59
LeetCode
leetcode
算法
职场和发展
java
leetcode
1901. 找出顶峰元素 II
1901.找出顶峰元素II解题思路这里有点投机取巧了,用了标准库中的max_element,先找到每一行的最大值,然后将索引i,j,max_val保存到数列中,然后对数据项取max_val,找到元素位置,接着返回。代码classSolution{public:vectorfindPeakGrid(vector>&mat){vector>positions;for(inti=0;i(item-mat
BlackJack1755
·
2024-02-09 17:29
#
数组
leetcode
算法
职场和发展
LeetCode
2412. 完成所有交易的初始最少钱数
2412.完成所有交易的初始最少钱数【贪心】假设启动资金位money。那么money>=(a0-b0)+(a1-b1)+(a2-b2)+...(ai-1-bi-1)+ai,也就是最后一个的我们可以不考虑他的cashback,如果我们以这个来枚举的话,ai这一项就固定了,再看前面,为了使得money最大,我们把a-b=(b0-a0)+(b1-a1)+...+(bi-1-ai-1)+aipublicl
Sasakihaise_
·
2024-02-09 17:28
LeetCode
leetcode
前缀和
贪心
⭐算法入门⭐《二分枚举》中等05 ——
LeetCode
1201. 丑数 III
文章目录一、题目1、题目描述2、基础框架3、原题链接二、解题报告1、思路分析2、时间复杂度3、代码详解三、本题小知识四、加群须知一、题目1、题目描述 给你四个整数:n、a、b、c,请你设计一个算法来找出第n个丑数。丑数是可以被a或b或c整除的正整数。 样例输入:n=5,a=2,b=11,c=13 样例输出:102、基础框架C语言版本给出的基础框架代码如下:intnthUglyNumber(i
英雄哪里出来
·
2024-02-09 17:28
《LeetCode算法全集》
算法
leetcode
leetcode
299. 猜数字游戏
leetcode
299.猜数字游戏1.hashclassSolution{publicStringgetHint(Stringsecret,Stringguess){char[]s1=newchar[secret.length
一只含鱼
·
2024-02-09 17:28
leetcode
算法
职场和发展
leetcode
3027. 人员站位的方案数 II【离散化前缀和+枚举】
原题链接:3027.人员站位的方案数II题目描述:给你一个nx2的二维数组points,它表示二维平面上的一些点坐标,其中points[i]=[xi,yi]。我们定义x轴的正方向为右(x轴递增的方向),x轴的负方向为左(x轴递减的方向)。类似的,我们定义y轴的正方向为上(y轴递增的方向),y轴的负方向为下(y轴递减的方向)。你需要安排这n个人的站位,这n个人中包括liupengsay和小羊肖恩。你
lianxuhanshu_
·
2024-02-09 17:57
基础算法
leetcode
算法
小白都能看懂的力扣算法详解——链表(二)
24.两两交换链表中的节点-力扣(
LeetCode
)本题的难点在于如何将链表划分为两两一组。可以想到,用指针cur来标记每组元素的位置,交换完成后指针向后走两步,即为下一组元素的首个节点。
爱写代码的July
·
2024-02-09 17:22
力扣带刷
算法
leetcode
链表
LeetCode
-069-x的平方根
示例说明请见
LeetCode
官网。来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com/problems/sqrtx/著作权归领扣网络所有。
雄狮虎豹
·
2024-02-09 17:36
小白都能看懂的力扣算法详解——链表(一)
203.移除链表元素-力扣(
LeetCode
)我们的目标是要寻找val等于目标值的节点,那么我们就要遍历这个链表,找到该节点,之后让该节点的上一个节点指向它的下一个节
爱写代码的July
·
2024-02-09 17:21
力扣带刷
算法
leetcode
链表
leetcode
——滑动窗口题目汇总
本章总结一下滑动窗口的解题思路:在字符串中使用双指针left和right围成的一个左闭右开的区域作为一个窗口。不断将right向右滑动,直到窗口中的字符串符合条件。此时将left向右滑动,直到窗口中的字符串不符合条件,期间需不断的更新结果。最后重复前两步,直到right指针达到尽头。需要的变量:需要维护两个map数组,need和window,分别记录所需要的字符及个数,和滑动窗口中的字符及个数。左
我真的很帅阿
·
2024-02-09 16:29
leetcode专题汇总
leetcode
算法
java
滑动窗口
[
leetcode
] 32. 最长有效括号
文章目录题目描述解题方法方法一:栈java代码复杂度分析方法二:贪心java代码复杂度分析相似题目题目描述给你一个只包含'('和')'的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例1:输入:s="(()"输出:2解释:最长有效括号子串是"()"示例2:输入:s=")()())"输出:4解释:最长有效括号子串是"()()"示例3:输入:s=""输出:0提示:0stack=newStac
会飞的大鱼人
·
2024-02-09 16:59
leetcode题解
leetcode
算法
java
数据结构
leetcode
2 两数相加
Java解法这个题的解法并不难想,就是从前往后加,有进位就记录下来,取余得到的结果就是当前位数的值。不过有两个地方容易走弯路:一是新链表的生成,一般需要一个预指针pre,因为在后面当前cur指针移动的时候,会不断向后移动,返回的时候会失去头指针。还有就是,没有预指针的情况下,新链表的头指针要有专门的判断,后面的节点才能挂上去。二是两个链表长度不一致时,当一个链表遍历结束后,要不要跳出循环,跳出循环
justonemoretry
·
2024-02-09 15:13
Leetcode
66-数组模拟整数加1
Givenanon-negativeintegerrepresentedasanon-emptyarrayofdigits,plusonetotheinteger.Youmayassumetheintegerdonotcontainanyleadingzero,exceptthenumber0itself.Thedigitsarestoredsuchthatthemostsignificantdi
西5d
·
2024-02-09 15:04
LeetCode
面试题 02.03. 删除中间节点
示例:输入:单向链表a->b->c->d->e->f中的节点c结果:不返回任何数据,但该链表变为a->b->d->e->f来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com
小南家的青蛙
·
2024-02-09 15:28
LeetCode
leetcode
java
leetcode
-4的幂
342.4的幂使用数学方法如果一个数是4的幂次方,那么它一定可以表示为2的幂次方乘以4的幂次方。而2的幂次方在二进制表示中只有一个1,所以只需要判断n是否可以被4整除,并且n/4是否也是4的幂次方即可。classSolution:defisPowerOfFour(self,n:int)->bool:ifnbool:returnn>0andn&(n-1)==0andn&0x55555555==n代码
独孤--蝴蝶
·
2024-02-09 14:21
leetcode
leetcode
-比特位计数
338.比特位计数题解:这道题其实就是将范围[0,n]之间的数字转换成二进制,然后统计每个数字对应的二进制中1的个数classSolution:defcountBits(self,n:int)->List[int]:res=[]foriinrange(n+1):res.append(bin(i).count("1"))returnres
独孤--蝴蝶
·
2024-02-09 14:48
leetcode
LeetCode
面试题64. 求1+2+…+n | Python
面试题64.求1+2+…+n题目来源:力扣(
LeetCode
)https://
leetcode
-cn.com/problems/qiu-12n-lcof题目求1+2+...
大梦三千秋
·
2024-02-09 14:01
力扣hot100 -- 哈希
目录两数之和暴力二分哈希字母异位词分组unordered_map+排序unordered_map+计数最长连续序列unordered_set+跳过前驱排序+dp两数之和1.两数之和-力扣(
LeetCode
千帐灯无此声
·
2024-02-09 14:27
#
力扣
hot
100
力扣
算法
笔记
LeetCode
207:课程表(图论,利用拓扑排序判断是否有环)
题目你这个学期必须选修numCourses门课程,记为0到numCourses-1。在选修某些课程之前需要一些先修课程。先修课程按数组prerequisites给出,其中prerequisites[i]=[ai,bi],表示如果要学习课程ai则必须先学习课程bi。例如,先修课程对[0,1]表示:想要学习课程0,你需要先完成课程1。请你判断是否可能完成所有课程的学习?如果可以,返回true;否则,返
鸡鸭扣
·
2024-02-09 13:22
LeetCode
leetcode
图论
java
后端
算法
leetcode
121. 买卖股票的最佳时机
Problem:121.买卖股票的最佳时机文章目录题目思路1思路2题目给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。示例1:输入:[7,1,5,3,6,4]输出:5解释:在第2
晓宜
·
2024-02-09 13:30
算法
leetcode
python
算法
后端
leetcode
热题100.二叉树中的最大路径和
Problem:124.二叉树中的最大路径和文章目录题目解题方法复杂度Code题目二叉树中的路径被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中至多出现一次。该路径至少包含一个节点,且不一定经过根节点。路径和是路径中各节点值的总和。给你一个二叉树的根节点root,返回其最大路径和。示例1:输入:root=[1,2,3]输出:6解释:最优路径是2->1->3,路径
晓宜
·
2024-02-09 13:00
leetcode热题100
算法
leetcode
算法
职场和发展
力扣刷题之旅:进阶篇(二)
力扣(
LeetCode
)是一个在线编程平台,主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目,以及它们的解题代码。
GT开发算法工程师
·
2024-02-09 13:26
leetcode
算法
职场和发展
数据结构
力扣刷题之旅:进阶篇(三)
力扣(
LeetCode
)是一个在线编程平台,主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目,以及它们的解题代码。
GT开发算法工程师
·
2024-02-09 13:26
leetcode
算法
职场和发展
上一页
32
33
34
35
36
37
38
39
下一页
按字母分类:
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
其他