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
--接雨水(双指针法,动态规划,单调栈)
目录方法一:双指针法方法二:动态规划方法三:单调栈42.接雨水-力扣(
LeetCode
)黑色的是柱子,蓝色的是雨水,我们先来观察一下雨水的分布情况:雨水落在凹槽之间,在一个凹槽的左右都会有两个柱子,两个柱子高度可能相同也可能不同
みずいろ
·
2025-06-21 06:51
算法
leetcode
算法
数据结构
c++
c语言
Day05_数据结构大项目作业20250620
项目:基于
链表
的通信录管理意义:对于一个通信录来说,要管理联系人的信息,包括编号,姓名,性别,电话。
liujing10232929
·
2025-06-21 04:10
数据结构
数据结构
mysql源码-innodb mvcc原理与源码解析
原理图解说1在innodb中,保存了一个全局事务
链表
,记录了活跃事务,即还未完成的事务2t2时刻活跃的事务id为104~111,其中107已经完成3在t2时刻,读事务A查询数据,在查询范围内的事务id为
qhgxinxing
·
2025-06-20 23:44
mysql源码分析
mysql
数据库
mvcc原理
mvcc源码解析
删除
链表
的倒数第 N 个结点
目录题目解法一:计算
链表
长度解法二:双指针题目解法一:计算
链表
长度structListNode*delete(structListNode*head,intn){structListNode*virHead
黑听人
·
2025-06-20 19:40
力扣
C
c语言
leetcode
数据结构
算法
开发语言
链表
的中间结点
目录题目解法一:计算
链表
长度解法二:快慢指针题目解法一:计算
链表
长度structListNode*find(structListNode*head){intlen=0;structListNode*curNode
黑听人
·
2025-06-20 19:10
力扣
C
c语言
leetcode
数据结构
算法
开发语言
Java求职者面试题详解:计算机网络、操作系统、设计模式与数据结构
4.请解释数据结构中的
链表
和数组的区别。5.什么是死锁?如何避免死锁?解析1.TCP和UDP的区别TCP(传输控制协议)是一种面向连接的协议,确保数据的可靠传输。它通过三次握手建立连接
迢迢星万里灬
·
2025-06-20 13:00
Java面试宝典
Java
面试题
计算机网络
操作系统
设计模式
数据结构
c++数据结构 有效的数独、矩阵置零
36.有效的数独-力扣(
LeetCode
)(
leetcode
-cn.com)classSolution{public:boolisValidSudoku(vector>&board){introw[9]
艾艾的博客
·
2025-06-20 12:54
c++
数据结构
矩阵
HOT 100 | 189.轮转数组、238. 除自身以外数组的乘积、41. 缺失的第一个正数
一、189.轮转数组189.轮转数组-力扣(
LeetCode
)1.解题思路1.由于k可能很大,为了防止多次重复挪动,所以只需要对其取余,就是最终挪动的位置。
Accept17
·
2025-06-20 12:22
python
算法
leetcode
LeetCode
-73. 矩阵置零-C++
给定一个mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。示例1:输入:matrix=[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例2:输入:matrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]代码实现,带详细
工程欣欣
·
2025-06-20 12:20
LeetCode每日一题
leetcode
矩阵
c++
搜索二维矩阵 II、160.相交
链表
、206.反转
链表
一、240.搜索二维矩阵II1.解题思路本题采用二分查找的方法。(1)对矩阵的每一行进行二分查找,首先定义出左边界和右边界的变量,然后计算出中间元素的下标索引,将中间元素与target元素值进行比对。(2)如果中间元素比target大,那么需要在中间元素的左边区间进行二次二分查找,也就是将右边界的下标更改为mid-1;如果中间元素比target小,那么需要在中间元素的右边区间进行二次二分查找,也就
Accept17
·
2025-06-20 12:50
矩阵
算法
数据结构
数组中等
LeetCode
6091. 划分数组使最大差为 K
6091.划分数组使最大差为K描述给你一个整数数组nums和一个整数k。你可以将nums划分成一个或多个子序列,使nums中的每个元素都恰好出现在一个子序列中。在满足每个子序列中最大值和最小值之间的差值最多为k的前提下,返回需要划分的最少子序列数目。子序列本质是一个序列,可以通过删除另一个序列中的某些元素(或者不删除)但不改变剩下元素的顺序得到。classSolution{publicintpar
18阿鲁
·
2025-06-20 11:49
leetcode
排序算法
算法
LeetCode
2875.无线数组的最短子数组
给你一个下标从0开始的数组nums和一个整数target。下标从0开始的数组infinite_nums是通过无限地将nums的元素追加到自己之后生成的。请你从infinite_nums中找出满足元素和等于target的最短子数组,并返回该子数组的长度。如果不存在满足条件的子数组,返回-1。示例1:输入:nums=[1,2,3],target=5输出:2解释:在这个例子中infinite_nums=
吃着火锅x唱着歌
·
2025-06-20 11:18
LeetCode
leetcode
算法
数据结构
【经典算法】
LeetCode
215. 数组中的第K个最大元素(Java/C/Python3实现含注释说明,Medium)
个人主页:进朱者赤阿里非典型程序员一枚,记录平平无奇程序员在大厂的打怪升级之路。一起学习Java、大数据、数据结构算法(公众号同名)目录题目描述思路及实现方式一:快速选择排序思路代码实现Java版本C语言版本Python3版本复杂度分析方式二:最小堆(最小优先队列)思路代码实现Java版本C语言版本Python3版本复杂度分析总结相似题目标签(题目类型):数组题目描述给定整数数组nums和整数k,
进朱者赤
·
2025-06-20 11:17
#
面试
#
经典算法
算法
leetcode
数组中的第K个最大元素
数组查找
【
LeetCode
】912. 排序数组(中等)
912.排序数组给你一个整数数组nums,请你将该数组升序排列。示例1:输入:nums=[5,2,3,1]输出:[1,2,3,5]示例2:输入:nums=[5,1,1,2,0,0]输出:[0,0,1,1,2,5]提示:1arr[j+1]){swap(arr,j,j+1);}}}}//i和j是一个位置的话,会出错publicvoidswap(int[]arr,inti,intj){arr[i]=ar
晴雪月乔
·
2025-06-20 11:47
#
LeetCode
数组
leetcode
排序算法
【贪心算法】
Leetcode
763. 划分字母区间【中等】
划分字母区间给你一个字符串s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是s。返回一个表示每个字符串片段的长度的列表。示例1:输入:s=“ababcbacadefegdehijhklij”输出:[9,7,8]解释:划分结果为“ababcbaca”、“defegde”、“hijhklij”。每个字母最多出现
FLGB
·
2025-06-20 11:15
算法
贪心算法
leetcode
算法
leetcode
3443. K 次修改后的最大曼哈顿距离 中等
给你一个由字符'N'、'S'、'E'和'W'组成的字符串s,其中s[i]表示在无限网格中的移动操作:'N':向北移动1个单位。'S':向南移动1个单位。'E':向东移动1个单位。'W':向西移动1个单位。初始时,你位于原点(0,0)。你最多可以修改k个字符为任意四个方向之一。请找出在按顺序执行所有移动操作过程中的任意时刻,所能达到的离原点的最大曼哈顿距离。曼哈顿距离定义为两个坐标点(xi,yi)和
圣保罗的大教堂
·
2025-06-20 11:15
模拟
leetcode
leetcode
leetcode
2294. 划分数组使最大差为 K 中等
给你一个整数数组nums和一个整数k。你可以将nums划分成一个或多个子序列,使nums中的每个元素都恰好出现在一个子序列中。在满足每个子序列中最大值和最小值之间的差值最多为k的前提下,返回需要划分的最少子序列数目。子序列本质是一个序列,可以通过删除另一个序列中的某些元素(或者不删除)但不改变剩下元素的顺序得到。示例1:输入:nums=[3,6,1,2,5],k=2输出:2解释:可以将nums划分
·
2025-06-20 11:44
单项循环
链表
及带头指针的
链表
单项循环
链表
及其带头指针的
链表
对于
链表
我们要仔细深入的学习它,为何呢,因为他是我们在后面学习非线性数据结构的基础,像后面的树,图等结构都是由
链表
演变出来的,所以我们这篇博客继续探究
链表
带头指针的
链表
我们上篇博客讲述了带头节点的
链表
如图然后演示出了一系列公式化的打法像什么插入删除
V我五十买鸡腿
·
2025-06-20 10:07
数据结构
笔记
链表
数据结构
二叉树:定义、性质、存储与遍历全解析
今天,我将带大家深入学习二叉树的定义、性质、存储结构以及遍历方法,并重点掌握二叉
链表
存储结构,同时探讨如何根据遍历方法重建二叉树。
秋山落叶万岭花开ღ
·
2025-06-20 09:32
数据结构
算法
python
C++二分查找
2.二分查找2.1704.二分查找-力扣(
LeetCode
)给定一个n个元素有序的(升序)整型数组nums和一个目标值t
乾坤未定的黑马
·
2025-06-20 04:24
C++
c++
开发语言
算法
二分查找
【
Leetcode
面试经典150题】88. 合并两个有序数组-Java
一、题目给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m+n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。二、第一
GDJUpUp
·
2025-06-20 03:18
leetcode
算法
java
leetcode
_198_打家劫舍
思路:首先定义一个数组对于dp[i]读作1->i能获取的最大利益,第i个房屋只有"偷"和不"偷"两种情况,分别进行讨论"偷":既然"偷"了i那就肯定不能偷i-1了,但是为了使"偷"的尽可能多除了必须不能"偷"的全要"偷",所以得到第一个部分dp[i]=nums[i]+dp[i-2];不"偷":这就很明显了不"偷"那就是前[i-1]个的情况嘛dp[i]=dp[i-1];综上实现公式应为dp[i]=m
c_ceiling
·
2025-06-20 02:47
leetcode
算法
c++
LeetCode
面试经典150题 88.合并两个有序数组
题目:给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m+n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。思路:从右
爱笑的coder
·
2025-06-20 02:16
算法刷题-数组
leetcode
面试
算法
Leetcode
面试150题 88.合并两个有序数组 简单
系列博客目录文章目录系列博客目录88.合并两个有序数组简单示例1:示例2:示例3:解答88.合并两个有序数组简单给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的
醒了就刷牙
·
2025-06-20 02:45
LeetCode刷题
leetcode
面试
算法
LeetCode
213.打家劫舍II 动态规划详细解法
213.打家劫舍II213.打家劫舍II题目来源题目分析题目难度题目标签题目限制解题思路核心算法步骤代码实现代码解读性能分析测试用例扩展讨论优化写法其他实现总结213.打家劫舍II题目来源213.打家劫舍II题目分析在这个问题中,房屋排列成一个圆形,小偷不能在同一晚上偷窃相邻的房屋,否则会触发警报。给定一个代表每个房屋存放金额的非负整数数组,我们需要计算小偷在不触动警报装置的情况下,能够偷窃到的最
Lentr0py
·
2025-06-20 02:15
LeetCode
算法题
leetcode
动态规划
java
算法
LeetCode
面试150——88合并两个有序数组
LeetCode
面试150——88合并两个有序数组题目难度:简单默认优化目标:最小化平均时间复杂度。Python默认为Python3。
沈小农学编程
·
2025-06-20 02:45
LeetCode
算法
leetcode
职场和发展
面试
(
LeetCode
面试经典 150 题 )88. 合并两个有序数组 (双指针)
题目:88.合并两个有序数组思路:双指针,倒序回填数组nums1,时间复杂度0(n+m),额外的空间复杂度0(1)。C++版本:classSolution{public:voidmerge(vector&nums1,intm,vector&nums2,intn){inti=m-1;intj=n-1;intk=n+m-1;while(i>=0&&j>=0){if(nums1[i]=0){nums1[
岁忧
·
2025-06-20 02:45
C++
JAVA
Go版本
LeetCode
LeetCode
面试经典
150
题
leetcode
面试
算法
c++
java
go
回文
链表
【力扣题解Day17】234.回文
链表
问题思路解题过程复杂度Code问题Problem:234.回文
链表
思路双指针解题过程首先容易想到将
链表
中的元素转换成数组,然后对数组进行回文判断,回文判断使用双指针是比较常用的做法
阳明YM
·
2025-06-20 00:29
力扣(LeetCode)
链表
python
算法
力扣
(
LeetCode
面试经典 150 题 ) 27. 移除元素 (双指针)
题目:27.移除元素思路:双指针,时间复杂度0(n)。左指针i左边的都是不等于val的值,右指针j右边都是等于val的值。C++版本:classSolution{public:intremoveElement(vector&nums,intval){inti=0,j=nums.size()-1;while(i<=j){if(nums[i]==val){nums[i]=nums[j];j--;}el
岁忧
·
2025-06-19 20:56
C++
JAVA
Go版本
LeetCode
LeetCode
面试经典
150
题
leetcode
面试
算法
java
go
c++
LeetCode
(python)659. 分割数组为连续子序列
来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com/p
柚子山茶花
·
2025-06-19 19:24
#
Java刷LeetCode题
leetcode
java
LeetCode
每日一题 1877. 数组中最大数对和的最小值
1877.数组中最大数对和的最小值一个数对(a,b)的数对和等于a+b。最大数对和是一个数对数组中最大的数对和。比方说,如果我们有数对(1,5),(2,3)和(4,4),最大数对和为max(1+5,2+3,4+4)=max(6,5,8)=8。给你一个长度为偶数n的数组nums,请你将nums中的元素分成n/2个数对,使得:nums中每个元素恰好在一个数对中,且最大数对和的值最小。请你在最优数对划分
喜欢下雨所以爱上雷震子
·
2025-06-19 19:54
每日一题
leetcode
算法
贪心算法
划分数组并满足最大差限制
题目链接2966.划分数组并满足最大差限制-力扣(
LeetCode
)解题思路这道题要求我们把给定的整数数组nums划分成多个长度为3的子数组,并且每个子数组中的最大值和最小值的差不能超过整数k。
.wei-upup
·
2025-06-19 19:22
刷题分享
leetcode
算法
数据结构
c++
合并K个升序
链表
题目:给你一个
链表
数组,每个
链表
都已经按升序排列。请你将所有
链表
合并到一个升序
链表
中,返回合并后的
链表
。
zmuy
·
2025-06-19 19:51
LeetCode
hot100
链表
算法
数据结构
算法导论第十三章 红黑树:平衡的艺术
13.1红黑树的诞生:解决BST的致命缺陷13.1.1BST的退化问题在第十二章中,我们看到二叉搜索树在极端情况下会退化为
链表
,操作复杂度从O(logn)恶化为O(n)。1
W说编程
·
2025-06-19 19:50
算法导论
数据结构与算法
算法
c语言
数据结构
性能优化
b树
排序算法
排序
链表
题目:给你
链表
的头结点head,请将其按升序排列并返回排序后的
链表
。示例1:解题思路:这道题是一道综合题,考察了
链表
中间节点+合并有序
链表
。
zmuy
·
2025-06-19 19:19
LeetCode
hot100
链表
数据结构
leetcode
23-合并K个升序
链表
leetcode
23思路遍历所有
链表
收集节点:将每个
链表
的节点断开其next指针后存入数组对数组进行排序:使用JavaScript的内置sort方法对节点数组按值排序重新连接排序后的节点:遍历排序后的数组
记得早睡~
·
2025-06-19 18:42
leetcode热题100
算法小课堂
链表
数据结构
leetcode
算法
[C++] list双向
链表
使用方法
目录
链表
基本操作定义类使用类常规排序遍历
链表
存储原理
链表
基本操作定义类双向
链表
有专门的头文件#include//当然如果你用的话就也无所谓了忽然想到一件事情,不会有人不知道bits/stdc++.h是什么吧
无影无踪的青蛙
·
2025-06-19 16:30
c++
list
链表
蓝桥杯刷题 Day 4 栈与
链表
蓝桥杯刷题Day4栈与
链表
文章目录蓝桥杯刷题Day4栈与
链表
前言一、栈1.解题思路2.拆解代码(不复杂,不拆了)二、
链表
1.解题思路1.1主函数1.2自定义列表类1.2.1插入操作1.2.2删除操作1.2.3
雁于飞
·
2025-06-19 15:51
蓝桥杯
链表
职场和发展
学习
笔记
经验分享
数据结构
148.排序
链表
在O(nlogn)时间复杂度和常数级空间复杂度下,对
链表
进行排序。
张荣华_csdn
·
2025-06-19 13:07
leetcode中国
148.排序链表
leetcode中国
代码随想录day3
链表
1
new关键字1.new是一个关键字,用于开辟空间,开辟的空间在堆上,而一般声明的变量存放在栈上;2.new得到的是一段空间的首地址。所以一般需要用指针来存放这段地址newint(10);//返回new出来这块内存的地址int*p=newint(10);//用一个指针去接受这个地址cout#include#include#include#include#include#include#include
皮蛋瘦肉粥_121
·
2025-06-19 13:05
算法
leetcode
148. 排序
链表
方法1:插入方法进行改进classSolution{publicListNodesortList(ListNodehead){/*想法:设置两个指针first,last分别指向当前有序子
链表
的头和尾节点
I_W_S
·
2025-06-19 13:02
leetcode刷题记录
链表
数据结构
leetcode
算法
数据结构算法题——数组
leetcode
-1.两数之和
leetcode
-1.两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。
linjiayina
·
2025-06-19 11:50
算法
数据结构
算法
深入解析Python双序列双指针技术:高效算法实践指南
双指针技术基础1.1双指针分类及适用场景1.2时间复杂度对比1.3核心算法公式二、同向指针技术2.1有序序列合并2.2最长公共子序列三、相向指针技术3.1两数之和问题3.2盛最多水的容器四、快慢指针技术4.1
链表
的交点检测
闲人编程
·
2025-06-19 04:35
python
python
双指针
序列
算法
字符串
边界
优化
代码随想录算法训练营day26| 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 总结
|
LeetCode
:669.修剪二叉搜索树_哔哩哔哩_bilibili构造平衡二叉搜索树!|
LeetCode
:108.将有序数组转换为二叉搜索树_哔哩哔哩_bilibili普大喜奔!
kuki<__>
·
2025-06-19 03:29
算法
c语言
(补打卡)代码随想录算法训练营day20| 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点
|
LeetCode
:701.二叉搜索树中的插入操作_哔哩哔哩_bilibili调整二叉树的结构最难!|
LeetCode
:450.删除二叉搜索树中的节点_哔哩哔哩_bilibili终于补完了,嘿嘿。
kuki<__>
·
2025-06-19 03:59
算法
c语言
二叉树中使用深度优先搜索(DFS)的几种经典代码形式总结
DFS在二叉树中运用示例示例1:经典DFS遍历(先序遍历)示例2:DFS+回溯(如路径问题)示例3:DFS判断平衡二叉树(递归+剪枝)示例4:DFS用于路径和为目标值(
LeetCode
112)示例5:判断是否是相同的树总结
凸头
·
2025-06-19 03:58
深度优先
算法
连续字符(华为OD面试手撕真题)
示例1输入:s="
leetcode
"输出:2解释:子字符串"ee"长度为2,只包含字符'e'。
无限码力
·
2025-06-19 02:20
华为OD面试手撕代码真题合集
华为od
华为OD面试手撕真题
再议AOI算法
整理思路如文章标题,我们要求结合网格和十字
链表
两种方法来实现AOI。网格法是将地图划分成多个格子,每个格子管理其中的对象,这样可以快速查找周围的对象。
Jempo M
·
2025-06-19 01:18
编程小结
算法
网络
游戏程序
每日
leetcode
2887.填充缺失值-力扣(
LeetCode
)题目DataFrameproducts+-------------+--------+|ColumnName|Type|+-------------+---
XiaoyaoCarter
·
2025-06-19 01:15
leetcode训练
leetcode
算法
职场和发展
python
pandas
每日
leetcode
2889.数据重塑:透视-力扣(
LeetCode
)题目DataFrameweather+-------------+--------+|ColumnName|Type|+-------------+--
XiaoyaoCarter
·
2025-06-19 01:15
leetcode训练
leetcode
算法
职场和发展
python
pandas
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他