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
【刷力扣】23. 合并 K 个升序链表(dummy节点技巧 + 分治思维 + 优先队列)
目录一、合并升序链表问题二、题目:[21.合并两个有序链表](https://
leetcode
.cn/problems/merge-two-sorted-lists/description/)1、掌握dummy
南七行者
·
2025-05-04 16:47
数据结构与算法
leetcode
链表
合并两个有序链表 - 力扣(
LeetCode
)
基础知识要求:Java:方法、while循环、ifelse语句、构造器函数、逻辑运算符Python:方法、while循环、ifelse语句、构造器函数、逻辑运算符数据结构:链表题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:输入:l1=[],l2=[]输
千小凡
·
2025-05-04 16:16
力扣(LeetCode)算法题
开发语言
leetcode
算法
合并 K 个升序链表 - 力扣(
LeetCode
)
基础知识要求:Java:方法、while循环、for循环、PriorityQueue类、if判断Python:方法、while循环、for循环、heapq模块、if判断数据结构:队列题目:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解
千小凡
·
2025-05-04 16:46
力扣(LeetCode)算法题
python
算法
java
数据结构
142.环形链表 II- 力扣(
LeetCode
)
题目:给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。示例1:输入:
Lounger66
·
2025-05-04 15:14
链表
leetcode
数据结构
57.插入区间- 力扣(
LeetCode
)
题目:给你一个无重叠的,按照区间起始端点排序的区间列表intervals,其中intervals[i]=[starti,endi]表示第i个区间的开始和结束,并且intervals按照starti升序排列。同样给定一个区间newInterval=[start,end]表示另一个区间的开始和结束。在intervals中插入区间newInterval,使得intervals依然按照starti升序排列
Lounger66
·
2025-05-04 15:44
leetcode
算法
python
78.子集- 力扣(
LeetCode
)
题目:给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输出:[[],[0]]提示:1<=nums.length<=10-10<=nums[i]<=10nums
Lounger66
·
2025-05-04 15:44
leetcode
算法
数据结构
23.合并k个升序序链表- 力扣(
LeetCode
)
题目:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6示例2:输入:lists=[]输出:[]示例
Lounger66
·
2025-05-04 15:14
链表
leetcode
python
每日一道
leetcode
(五一去兼职了,只能隔一天写两道了)
2300.咒语和药水的成功对数-力扣(
LeetCode
)题目给你两个正整数数组spells和potions,长度分别为n和m,其中spells[i]表示第i个咒语的能量强度,potions[j]表示第j
XiaoyaoCarter
·
2025-05-04 14:34
leetcode训练
leetcode
算法
职场和发展
c++
数据结构
二分查找
每日一道
leetcode
(又不会了)
162.寻找峰值-力扣(
LeetCode
)题目峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组nums,找到峰值元素并返回其索引。
XiaoyaoCarter
·
2025-05-04 14:34
leetcode
算法
职场和发展
c++
二分查找
LeetCode
-99. 恢复二叉搜索树-Java-medium
题目链接法一(中序遍历)publicclassSolution99{privateTreeNodefirst;//中序遍历中第一次遇到的被错误交换的结点(较大的)privateTreeNodesecond;//中序遍历中第二次遇到的被错误交换的结点(较小的)privateTreeNodepre;//记录中序遍历过程中当前结点的前驱/***无参构造函数*/publicSolution99(){thi
happy life 2022
·
2025-05-04 07:54
#
二叉树
leetcode
java
算法
LeetCode
-96. 不同的二叉搜索树-Java-medium
题目链接法一(动态规划)/***动态规划*1.思路*假设n个节点存在BST的个数是G(n)*当1为根节点时,其左子树节点个数为0,右子树节点个数为n-1*当2为根节点时,其左子树节点个数为1,右子树节点个数为n-2*...*可得G(n)=G(0)*G(n-1)+G(1)*(n-2)+...+G(n-1)*G(0)*2.步骤*(1)确定dp数组以及下标的含义*dp[i]表示以1到i为节点组成的BST
happy life 2022
·
2025-05-04 07:53
#
二叉树
#
动态规划
leetcode
算法
数据结构
java
leetcode
216.组合总和III、40.组合总和II、39.组合总和
216.组合总和III找出所有相加之和为n的k个数的组合,且满足下列条件:只使用数字1到9每个数字最多使用一次返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。示例1:输入:k=3,n=7输出:[[1,2,4]]解释:1+2+4=7没有其他符合的组合了。示例2:输入:k=3,n=9输出:[[1,2,6],[1,3,5],[2,3,4]]解释:1+2+6=91+3+
我不会起名字呀
·
2025-05-04 06:16
#
LeetCode
算法
数据结构
LCR 001.两数相除
题目来源:
leetcode
题目:LCR001.两数相除-力扣(
LeetCode
)解题思路:通过ab的符号位获得结果的符号位后将两个取绝对值。
十年一觉尘与土
·
2025-05-04 06:14
LeetCode
刷题
LeetCode
39. 组合总和
题目来源:
leetcode
题目:39.组合总和-力扣(
LeetCode
)解题思路:递归获得组合数,通过全局变量记录已经计算过的从而减少递归次数。注意去重。
十年一觉尘与土
·
2025-05-04 05:43
LeetCode
刷题
LeetCode
关于
leetcode
232.用栈实现队列的算法解析题
题目请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()从队列的开头移除并返回元素intpeek()返回队列开头的元素booleanempty()如果队列为空,返回true;否则,返回false说明:你只能使用标准的栈操作——也就是只有pushtoto
KAI_KD
·
2025-05-03 21:53
算法
Day4 链表part01
Leetcode
203.移除链表
Leetcode
203.移除链表这题主要设计两种方法:直接使用原来的链表来进行删除操作。其需要分类为:1.删除头节点2.删除中间节点设置一个虚拟头结点在进行删除操作。
pleiades qi
·
2025-05-03 21:19
Leetcode
leetcode
链表
算法
算法day3 链表(
Leetcode
203.移除链表元素,Leercode206.反转链表,
Leetcode
707.设计链表)
Leetcode
203.移除链表元素思路:删除链表的时候要从被删除链表的上一个链表连接到被删除链表的下一个链表,可以定义一个新的指针来代替被删除链表,最后删除节点,清理内存。
6iove.
·
2025-05-03 21:49
算法
链表
数据结构
day5_链表基础知识和
leetcode
203.移除链表元素
day5_链表基础知识0、基础理论来自代码随想录总结①单链表:每个节点包括数据域(data)和指针域(next),最后一个节点指针域指向null,入口节点为链表的头节点(head)向后查询②双链表:两个指针域,一个数据域。prevdatanext。头节点的prev为null,最后一个节点的next为null.向前向后都可以查询③循环链表:链表首尾相连。即把单链表的最后一个节点从指向null改为指向
努力生活的熙攘.
·
2025-05-03 21:18
链表
数据结构
java
leetcode
算法
LeetCode
算法题 (比较含退格的字符串)Day9!!!C/C++
https://
leetcode
.cn/problems/backspace-string-compare/description/一、题目描述给定s和t两个字符串,当它们分别被输入到空白的文本编辑器后
我是一只鱼0223
·
2025-05-03 21:46
leetcode
算法
职场和发展
LeetCode
算法题 (最小栈)Day10!!!C/C++
https://
leetcode
.cn/problems/min-stack/description/一、题目描述设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。
我是一只鱼0223
·
2025-05-03 21:46
leetcode
算法
职场和发展
LeetCode
算法题 (买卖股票的最佳时机 II)Day6!!!C/C++
https://
leetcode
.cn/problems/best-time-to-buy-and-sell-stock-ii/description/一、题目描述给你一个整数数组prices,其中prices
我是一只鱼0223
·
2025-05-03 21:16
leetcode
算法
职场和发展
LeetCode
Day4 链表: 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II
解题思路19.删除链表的倒数第N个节点(1)题目描述(2)解题思路面试题02.07.链表相交(1)题目描述(2)解题思路142.环形链表II(1)题目描述(2)解题思路203.移除链表元素(1)题目描述
LeetCode
24
影子修
·
2025-05-03 21:46
leetcode
链表
算法
[
LeetCode
] 树状数组+线段树总结
文章目录写在前面线段树树桩数组相关题写在前面
LeetCode
树状数组+线段树的题比较少,而且这两个知识点在面试时被考察的概率极小,但是如果我们知道这两个知识点,在解题的时候会非常便捷(利用高维度工具打击低维度题目
virgilshi
·
2025-05-03 16:44
树状数组
线段树
LeetCode
3033. 修改矩阵
题目来源:
leetcode
题目:3033.修改矩阵-力扣(
LeetCode
)解题思路:获取每列的最大值后将-1替换即可。
十年一觉尘与土
·
2025-05-03 13:55
LeetCode
刷题
LeetCode
Leetcode
刷题记录28——缺失的第一个正数
题源:https://
leetcode
.cn/problems/first-missing-positive/description/?
张书名
·
2025-05-03 12:20
Leetcode刷题记录
leetcode
算法
职场和发展
LeetCode
路径总和系列问题解析:I、II、III的解决方案与优化
文章目录引言一、路径总和I(
LeetCode
112)问题描述方法思路Java代码实现复杂度分析二、路径总和II(
LeetCode
113)问题描述方法思路Java代码实现复杂度分析三、路径总和III(
LeetCode
437
进击的小白菜
·
2025-05-03 08:22
2025
坚持刷题
leetcode
算法
职场和发展
快慢指针之环形链表
1.题目:142.环形链表II-力扣(
LeetCode
)给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。
听雨·眠
·
2025-05-03 01:04
链表
数据结构
快慢指针
深入理解链表:从基础操作到高频面试题解析
1.2链表核心特性1.3链表与数组对比二、链表类型详解2.1单向链表2.2双向链表2.3循环链表三、链表核心操作实现3.1插入操作3.2删除操作四、链表高频面试题精讲4.1反转链表(
LeetCode
206
谦逊码农的旅程
·
2025-05-02 19:51
数据结构
数据结构
链表
Java
leetcode
hot100 堆
如有缺漏谬误,还请批评指正。1.第k大的元素(1)建堆:从最后一个非叶子结点开始建大根堆,建堆时递归调整。核心操作:如果某个孩子比当前节点大,则交换它们,并递归建堆操作(因为此时被交换的结点可能不满足大根堆的性质)。(2)找第k大的元素:从堆尾元素开始一个个弹出并调整堆,弹出k-1次后,堆顶元素就是第k大的元素。classSolution{public:voidmaxHeapify(vector&
不想起名字a
·
2025-05-02 18:46
算法
leetcode
数据结构
力扣刷题总表
链表翻转链表(倒序输出链表)206.反转链表-力扣(
LeetCode
)LCR024.反转链表-力扣(
LeetCode
)
爱吃涮毛肚的肥肥
·
2025-05-02 17:38
Leetcode
leetcode
算法
职场和发展
c++
力扣
面试
2970. 统计移除递增子数组的数目 I
计算移除递增子数组的数量在本篇博客中,我们将探讨一道
Leetcode
上的题目——"计算移除递增子数组的数量"。我们将逐步分析题目要求、提供解题思路,并通过优化算法来解决问题。
Joyner2018
·
2025-05-02 12:36
python
leetcode
算法
职场和发展
python
开发语言
数据结构
leetcode
76.最小覆盖子串c++超出时间限制
classSolution{public:stringminWindow(strings,stringt){inti=0,j=0;unordered_mapneedMap;intneedCnt=t.size();//needMap代表:需要某个字符(key)若干个(value).needCnt表示当前缺失的字符数量。stringres="";for(autoitem:t){needMap[item
好奇的蛋黄果
·
2025-05-02 08:10
c++
leetcode
算法
leetcode
76. 最小覆盖子串
leetcode
76.最小覆盖子串给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串“”。
shendaoyu
·
2025-05-02 08:09
leetcode
leetcode
算法
java
Leetcode
76
题目描述思路分析采用滑动窗口,窗口有左右边界,先通过扩展右边界找出一个包含T中所有字符的子串,然后收缩左边界,直到不能再收缩。记录此时的子串。然后收缩左边界,继续扩展右边界,直到再找到满足要求的子串,和上次的进行比较,保存更小的子串。返回执行,直到右边界到达S串尾,且左边界不能再收缩。代码publicstaticStringminWindow(Strings,Stringt){Mapmap=new
Bennett 黄柏禧
·
2025-05-02 08:37
算法与数据结构
leetcode
LeetCode
刷题 -- 48. 旋转图像
题目算法题解:顺时针旋转矩阵(90度)1.算法描述给定一个n×n的二维矩阵,请将矩阵顺时针旋转90度。例如:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]2.思路分析顺时针旋转矩阵90度的操作可以分解为两步:第1步:矩阵转置即以矩阵对角线(从左上到右下)为轴,进行镜像翻转。第2步:每行逆序将每一行从左到右逆序。图示如下:原矩阵:转置
sz66cm
·
2025-05-02 04:13
leetcode
算法
职场和发展
LeetCode
48. 旋转图像(旋转矩阵)三种解法
##48.旋转图像(旋转矩阵)难度:Medium语言:Java题目给定一个n×n的二维矩阵表示一个图像。将图像顺时针旋转90度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例1:给定matrix=[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例2:给定mat
FRENKIE_AIGC
·
2025-05-02 04:13
LeetCode
数组
日拱一卒(14)——
leetcode
学习记录:转置矩阵
一、题目给定一个二维数组,求这个数组的转置矩阵二、思路创建一个转置矩阵大小的全零二维数组。遍历原二维数组的各个元素,放置到转置后的位置。难点在于创建新数组。三、题解classSolution:deftranspose(self,matrix:List[List[int]])->List[List[int]]:new=[[0]*len(matrix)for_inrange(len(matrix[0]
特立独行的Q
·
2025-05-02 04:13
leetcode
学习
矩阵
LeetCode
978 最长湍流子数组 题解
这个题的思路非常简单,只是我的代码没有优化,用的时间复杂度是o(n+n),所以其实还好,给大家说说我的思路,对于本题,我们先研究第一种情况,我们可以通过双下标对其进行维护,再更新l和r下标的同时还能找出最长的湍流子数组的长度,然后就是去优化一些存在的问题即可有两种特殊情况也需要我们去考虑一种是数组长度为1,这个比较简单,我们直接判断长度然后返回子数组长度为1即可还有一种是奇下标和偶下标的值想等,即
Demons_kirit
·
2025-05-02 00:14
算法
leetcode
算法
数据结构
leetcode
0235. 二叉搜索树的最近公共祖先-medium
1题目:二叉搜索树的最近公共祖先官方标定难度:中给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root=[6,2,8,0,4,7,9,null,null,3,5]示例1:输入:root=[6,2
智趣代码实验室
·
2025-05-01 17:05
Leetcode
数据结构
算法
leetcode
c++
LeetCode
-75. 颜色分类-Java-medium
题目链接法一(三指针)/***交换数组中两个元素的位置**@paramnums*@parami*@paramj*/privatevoidswap(int[]nums,inti,intj){if(i!=j){//两个相同的数^结果为0,开头加一个判断可以避免这种情况nums[i]^=nums[j];nums[j]^=nums[i];nums[i]^=nums[j];}}/***三指针,借鉴快排思想,
happy life 2022
·
2025-05-01 17:34
#
双指针
java
leetcode
算法
LeetCode
75. 颜色分类(Medium)/ 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(Easy)/ 大小写字母左右移动 / 元素移动问题!!!
283.移动零(原地移动到数组末尾)(Easy)剑指Offer21.调整数组顺序使奇数位于偶数前面(Easy)【原地】大小写字母左右移动26.【原地】删除排序数组中的重复项(Easy)题目链接题解颜色分类思路代码classSolution:###0123单指针(32ms,14.9MB)defsortColors(self,nums:List[int])->None:"""Donotreturnan
Aiclin
·
2025-05-01 17:03
LeetCode
leetcode
算法
职场和发展
【软件设计师:复习】上午题核心知识点总结(一)
典型问题:合并两个有序链表(
LeetCode
21)。链表反转(迭代/递归实现)。栈与队列栈:LIFO(后进先出),应用场景:函数调用栈、括号匹配。
无心水
·
2025-05-01 17:32
软考
软件设计师
计算机软件水平考试
软件设计师上午题
数据结构与算法
操作系统
数据库设计
数据结构-链表刷题集(长期更新)
文章目录1.
leetcode
2两数之和1.1解法一2.链表反转3.指定区间的链表翻转1.
leetcode
2两数之和1.1解法一题目及其相关实例如下要做这个题,首先我们要学会模拟竖式的加法,我们知道即使是
浅念同学
·
2025-05-01 17:31
数据结构
链表
leetcode
0075. 颜色分类-medium
1题目:官方标定难度:中给定一个包含红色、白色和蓝色、共n个元素的数组nums,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数0、1和2分别表示红色、白色和蓝色。必须在不使用库内置的sort函数的情况下解决这个问题。示例1:输入:nums=[2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例2:输入:nums=[2,0,1]输出:[0,1,2]提
智趣代码实验室
·
2025-05-01 17:01
Leetcode
leetcode
算法
c++
LeetCode
1482.制作m束花所需的最少天数
给你一个整数数组bloomDay,以及两个整数m和k。现需要制作m束花。制作花束时,需要使用花园中相邻的k朵花。花园中有n朵花,第i朵花会在bloomDay[i]时盛开,恰好可以用于一束花中。请你返回从花园中摘m束花需要等待的最少的天数。如果不能摘到m束花则返回-1**二分法对制作天数这个可能区间进行二分构造辅助函数判断当前天数能否制作m束花**classSolution{publicintmin
零一熊
·
2025-05-01 11:53
LeetCode
leetcode
java
【力扣】638. 大礼包
638.大礼包在
LeetCode
商店中,有n件在售的物品。每件物品都有对应的价格。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。
向上的毛毛
·
2025-05-01 11:52
1024程序员节
LeetCode
每日抑题 1482. 制作 m 束花所需的最少天数
1482.制作m束花所需的最少天数难度:中等语言:java题目内容给你一个整数数组bloomDay,以及两个整数m和k。现需要制作m束花。制作花束时,需要使用花园中相邻的k朵花。花园中有n朵花,第i朵花会在bloomDay[i]时盛开,恰好可以用于一束花中。请你返回从花园中摘m束花需要等待的最少的天数。如果不能摘到m束花则返回-1。解题思路看了一圈,要求太多了,又要相连的花,还有成束,又要最短时间
ChasingSunny
·
2025-05-01 11:18
每日一题
leetcode
二分法
【
LeetCode
】组合总和II
链接:https://
leetcode
.c
avocado_green
·
2025-05-01 09:36
leetcode
算法
【
LeetCode
】最长公共前缀
题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。题目链接我的最初解答版本思路是以第一个字符串为比较对象,从1个字符开始逐个累加字符、构成试探前缀(tryPrefix),然后判断其余待比较的字符串是否以tryPrefix为前缀,一轮比较下来如果都是的话则将此试探前缀视为已经确定的安全前缀(prefix),一旦过程中出现否定的结果则比较结束,返回当前最新的安
avocado_green
·
2025-05-01 09:06
LeetCode
leetcode
typescript
LeetCode
第181题_超过经理收入的员工
LeetCode
第181题:超过经理收入的员工题目描述表:Employee+-------------+---------+|ColumnName|Type|+-------------+-------
@蓝莓果粒茶
·
2025-05-01 07:57
算法
leetcode
算法
职场和发展
excel
笔记
python
c++
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他