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
189. 轮转数组
原理与步骤问题分析将数组元素向右轮转k个位置。例如,[1,2,3,4,5]轮转k=2后变为[4,5,1,2,3]。要求原地操作且时间复杂度为O(n)。解决思路采用三次反转法:反转后k个元素:将后k个元素的顺序颠倒。反转前n-k个元素:将前n-k个元素的顺序颠倒。整体反转数组:交换前n-k和后k两部分的位置,并恢复各自顺序。图示法步骤(以输入nums=[1,2,3,4,5],k=2为例)步骤操作说明
小王Jacky
·
2025-04-30 21:25
编程算法提高(c++)
算法
数据结构
c++
反转数组
Leetcode
189. 轮转数组
问题描述:给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例2:输入:nums=[-1,-100,3,99],k=2输出:[3,99,-
only-qi
·
2025-04-30 21:55
算法
数据结构
leetcode
leetcode
189.轮转数组
示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例2:输入:nums=[-1,-100,3,99],k=2输出:[3,99,-1,-100]解释:向右轮转1步:[99,-1,-100,3]向右轮转2步:[3,9
Coder Leo
·
2025-04-30 21:54
leetcode
算法
LeetCode
189.轮转数组
189.轮转数组给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例2:输入:nums=[-1,-100,3,99],k=2输出:[3,9
Tanecious.
·
2025-04-30 21:53
刷题笔记
leetcode
算法
java
力扣HOT100之
链表
:138. 随机
链表
的复制
这道题要求将整个
链表
进行深拷贝,新
链表
中不包含任何原
链表
的节点,但是新
链表
中各个节点存储的值和各个节点的指向关系需要和原
链表
一模一样。
编程绿豆侠
·
2025-04-30 19:43
力扣HOT100
leetcode
链表
算法
一文搞定搜索
搜索算法入门二分查找左闭右开区间二分查找插入点无重复元素存在重复元素二分查找边界查找左边界查找右边界哈希优化策略线性查找哈希查找相关例题
leetcode
704.二分查找法一:二分查找
leetcode
278
TenPeaches
·
2025-04-30 18:30
数据结构与算法
算法
java
数据结构
缓存替换算法之 LFU(最少使用频率)
键是频率值,值是一个双向
链表
或其他数据结构,表示具有该频率
Kyrie_Li
·
2025-04-30 18:59
Redis
缓存
redis
LeetCode
100题
LeetCode
100两数之和遍历数组,以哈希表存数与下标,边存边查,速找和为目标值的两数下标classSolution{publicint[]twoSum(int[]nums,inttarget){int
雪落山庄
·
2025-04-30 16:51
leetcode
java
数据结构
开发语言
Leetcode
3533. Concatenated Divisibility
Leetcode
3533.ConcatenatedDivisibility1.解题思路2.代码实现题目链接:3533.ConcatenatedDivisibility1.解题思路这一题的话事实上如果我们原始的数组有序排列一下
Espresso Macchiato
·
2025-04-30 16:20
leetcode笔记
leetcode
hard
leetcode
3533
leetcode周赛447
动态规划
贪婪算法
4.5蓝桥杯|高塔登顶方案(5025)
2、只有我受煎熬吗,偶买噶,,,目录研究步骤:第一步:去做70.爬楼梯-力扣(
LeetCode
)第二步:使用斐波那契数列的思路暴力高塔登顶方案第三步:使用前缀和优化研究高塔登顶方案,如果没有思路:研究步骤
幼稚鬼?
·
2025-04-30 16:50
蓝桥杯
职场和发展
数据结构每日一题day12(
链表
)★★★★★
数据结构每日一题day12(
链表
)★★★★★题目描述:采用头插法在头指针L处建立一个带头结点的单
链表
,输入-1表示结束结果返回建立的单
链表
。
Phoebe鑫
·
2025-04-30 15:12
数据结构
链表
算法
数据结构每日一题day10(
链表
)★★★★★
题目描述:有一个带头结点的单
链表
L,请设计一个算法查找其第i个结点位置,若存在则返回指向该给点的指针,若不存在则返回NULL。算法思想:输入检查:若
链表
为空(仅有头结点)或i≤0,直接返回NULL。
Phoebe鑫
·
2025-04-30 15:12
算法
数据结构每日一题day13(
链表
)★★★★★
题目描述:采用尾插法在头指针L处建立一个带头结点的单
链表
,输入-1表示结束结果返回建立的单
链表
。算法思想:1.初始化
链表
:创建一个头结点(不存储实际数据),头指针L指向该头结点。
Phoebe鑫
·
2025-04-30 14:07
数据结构
链表
Day105 | 灵神 | 二叉树 出现次数最多的子树元素和
Day105|灵神|二叉树出现次数最多的子树元素和1026.节点与其祖先之间的最大差值1026.节点与其祖先之间的最大差值-力扣(
LeetCode
)思路:核心其实就是要维护遍历过程中的最大值和最小值,然后和本层的结点做减法找到最大值即可
为了前进而后退,为了走直路而走弯路
·
2025-04-30 14:04
刷题记录
深度优先
算法
C语言督学营(中级阶段)
线性表的顺序存储(顺序表示):顺序表(1)静态分配(2)动态分配(3)顺序表的定义、初始化、插入、删除、按值查找、按位查找操作(代码)(4)命名规范(变量名、函数名)2.线性表的链式存储(链式表示):
链表
程序员爱德华
·
2025-04-30 11:18
数据结构与算法
C语言
C语言
数据结构
Leetcode
3530. Maximum Profit from Valid Topological Order in DAG
Leetcode
3530.MaximumProfitfromValidTopologicalOrderinDAG1.解题思路2.代码实现题目链接:3530.MaximumProfitfromValidTopologicalOrderinDAG1
Espresso Macchiato
·
2025-04-30 09:36
leetcode笔记
leetcode
3530
leetcode
hard
leetcode双周赛155
动态规划
拓扑序列
Leetcode
3534. Path Existence Queries in a Graph II
Leetcode
3534.PathExistenceQueriesinaGraphII1.解题思路2.代码实现题目链接:3534.PathExistenceQueriesinaGraphII1.解题思路这一题是题目
Espresso Macchiato
·
2025-04-30 09:36
leetcode笔记
leetcode
3534
leetcode
hard
leetcode
3532
leetcode周赛447
DSU
二分搜索
UF
顺序结构双
链表
的实现
双
链表
是用最快的时间实现
链表
的一种方式,具体的实现代码如下:#pragmaonce#include#include#includetypedefintLTDataType;typedefstructListNode
我漫长的孤独流浪
·
2025-04-30 08:02
算法
数据结构
链表
开发语言
LeetCode
560. 和为 K 的子数组(哈希表、前缀和)
题目:560.和为K的子数组思路:找出所有和为k的子数组,这里可以想到用前缀和。然后用一层循环来枚举子数组的右端点r。左端点l就通过哈希表来寻找。如果区间[l,r]的和为k,即sum[r]-sum[l-1]==k,那在遍历到r时,我们只需要查找是否有sum[r]-k的前缀和出现过。同时当sum[r]==k时,表示[0,r]也是符合要求的。细节看注释classSolution{public:ints
岁忧
·
2025-04-30 06:44
LeetCode
leetcode
算法
c++
散列表
数据结构
哈希表
前缀和
Leetcode
-和为K的子数组
1.题目描述给你一个整数数组 arr 。请你返回和为奇数 的子数组数目。由于答案可能会很大,请你将结果对 10^9+7 取余后返回。 示例1:输入:arr=[1,3,5]输出:4解释:所有的子数组为[[1],[1,3],[1,3,5],[3],[3,5],[5]]。所有子数组的和为[1,4,9,3,8,5].奇数和包括[1,9,3,5],所以答案为4。示例2:输入:arr=[2,4,6]输出:0解
一梦花海
·
2025-04-30 06:43
JAVA面试基础
java
web
学习之路
Leetcode算法刷题
js数据结构之栈
中的我们新接触的到的(Set,map),在合适的时候使用它们能帮助我们更快的的解决问题.我们每个在编码是都会用到数据结构,数据最简单的内存数据结构,下面是常用的数据结构栈(Stack)队列(Queue)
链表
caihuayuan4
·
2025-04-30 06:42
面试题汇总与解析
spring
sql
java
大数据
课程设计
Leetcode
和为 K 的子数组
可以用前缀和(PrefixSum)和哈希表(HashMap)来设计算法。算法思想前缀和的定义:前缀和是指数组中从第一个元素开始,到当前元素为止的所有元素的总和。假设数组是nums,定义前缀和prefixSum[i]为nums[0]到nums[i]的总和。即:prefixSum[i]=∑j=0inums[j]\text{prefixSum}[i]=\sum_{j=0}^{i}\text{nums}[
Wils0nEdwards
·
2025-04-30 06:42
Leetcode
leetcode
算法
数据结构
Leetcode
523 连续的子数组和 前缀和 + 哈希表
题目链接一维前缀和思想:sum[i]sum[i]sum[i]=sum[i−1]sum[i-1]sum[i−1]+a[i]a[i]a[i]sum[l]-sum[l-2][l-2,l]区间内的数是k的倍数sum[l]-sum[l-3][l-3,l]区间内的数是k的倍数sum[l]-sum[l-4][l-4,l]区间内的数是k的倍数.........sum[l]-sum[1][1,l]区间内的数是k的倍
幸愉信奥
·
2025-04-30 06:11
刷题记录本
Leetcode
前缀和
哈希表
力扣--让字符串成为回文串的最少插入次数
力扣–让字符串成为回文串的最少插入次数文章目录力扣--让字符串成为回文串的最少插入次数一、题目描述二、分析三、代码相关题目:腾讯–构造回文:腾讯–构造回文最长回文子串和回文
链表
:
wolf鬼刀
·
2025-04-29 23:52
力扣-206.反转
链表
题目描述给你单
链表
的头节点head,请你反转
链表
,并返回反转后的
链表
。
এ᭄画画的北北
·
2025-04-29 23:51
力扣hot100
leetcode
链表
算法
力扣-141.环形
链表
题目描述给你一个
链表
的头节点head,判断
链表
中是否有环。如果
链表
中存在环,则返回true。否则,返回false。
এ᭄画画的北北
·
2025-04-29 23:51
力扣hot100
leetcode
链表
算法
【华为OD技术面试手撕真题】80、回文
链表
| 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS)
文章目录一、题目题目描述样例1二、代码参考C语言思路C语言代码C++语言思路C++代码Java语言思路Java代码Python语言思路Python代码JS语言思路JS代码作者:KJ.JK个人博客首页:KJ.JK专栏介绍:本专栏更新每年华为OD机试的高频手撕代码题,每个题目都会使用五种语言进行解答(C&C++&Java&Python&JS),思路分析都非常详细,争取实现最低的时间复杂度和高通过率,每
KJ.JK
·
2025-04-29 23:19
华为od
面试
python
java
c++
回文链表
华为od手撕真题
力扣-234.回文
链表
题目描述给你一个单
链表
的头节点head,请你判断该
链表
是否为回文
链表
。如果是,返回true;否则,返回false。
এ᭄画画的北北
·
2025-04-29 23:17
力扣hot100
leetcode
链表
算法
双列集合---LinkedHashMap实现类
LinkedHashMap是Java集合框架中的一个重要类,继承自HashMap,并在其基础上增加了双向
链表
来维护元素的插入顺序或访问顺序,其实参考Set系列中LinkedHashSet就知道了,LinkedHashMap
熊猫的反手凶变直线
·
2025-04-29 21:39
#
Java集合模块
java
开发语言
笔记
Leetcode
206. 反转
链表
注意的点:这道题三番五次地做错,总是想着交换首尾
链表
的位置,其实正确的做法就是从头到尾两两交换
链表
的指针方向即可。
普通攻击往后拉
·
2025-04-29 21:06
leetcode
链表
算法
leetcode
876.
链表
的中间结点
题目描述:本题作为找
链表
中间结点的标准方法。这道题虽然简单,但是是进阶题目的基础,例如第2095题2095.DeletetheMiddleNodeofaLinkedList。
洞阳
·
2025-04-29 21:36
leetcode
链表操作
双指针
leetcode
链表
算法
双指针
Leetcode
206.反转
链表
题目链接:206.反转
链表
-力扣(
LeetCode
)题目描述:给你单
链表
的头节点head,请你反转
链表
,并返回反转后的
链表
。
保持元气#
·
2025-04-29 21:05
leetcode
链表
算法
leetcode
206.反转
链表
/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(nullptr){}*ListNode(intx,ListNode*next):val(x),next(next){}*};*/
幻想小蜗
·
2025-04-29 20:31
leetcode
链表
算法
leetcode
刷题日记——环形
链表
[题目描述]:[思路]:给定一个
链表
的头节点,判断其中是否存在环可以设立两个快慢指针,快的走两步,慢的走一步,如果存在环,则总有一次,快指针一定会等于慢指针如果不存在环,则
链表
会被走到末尾运行如下/**
许_安
·
2025-04-29 19:22
刷题日记
面试经典150题
leetcode
链表
算法
贪心算法---跳跃游戏
一、题目:
leetcode
55题跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。
i学学学学学习
·
2025-04-29 16:26
算法基础
贪心算法
leetcode
贪心算法
代码随想录算法训练营第六天
LeetCode
题目454.四数相加II383.赎金信15.三数之和18.四数之和2140.解决智力问题(每日打卡)总结往期打卡454.四数相加II跳转:454.四数相加II问题:给你四个整数数组nums1
写个博客
·
2025-04-29 15:47
代码随想录打卡
算法
Leetcode
刷题 | Day49_图论01
一、学习任务深度优先搜索理论基础深度优先搜索理论基础|代码随想录98.所有可达路径(ACM)797.所有可能的路径(
Leetcode
)广度优先搜索理论基础二、具体题目1.深度优先搜索理论基础类似回溯算法
freyazzr
·
2025-04-29 13:02
leetcode
图论
算法
数据结构
c++
深度优先
广度优先
LeetCode
- 哈希表 -560. 和为K的子数组
题目560.和为K的子数组难度中等给定一个整数数组和一个整数k,你需要找到该数组中和为k的连续的子数组的个数。示例1:输入:nums=[1,1,1],k=2输出:2,[1,1]与[1,1]为两种不同的情况。解题思路:枚举法,枚举所有的子数组,然后求和判断是否为k,这种解法复杂度达到了n^3所以不可取,但是可以稍微优化一下,不需要遍历子数组,可以直接根据前一个的值计算部分和,省去了一个n的循环,复杂
-Bin
·
2025-04-29 13:31
LeetCode
热题 100 560. 和为 K 的子数组
LeetCode
热题100|560.和为K的子数组大家好,今天我们来解决一道经典的算法题——和为K的子数组。这道题在
LeetCode
上被标记为中等难度,要求我们统计数组中所有和为k的连续子数组的个数。
_Itachi__
·
2025-04-29 12:59
LeetCode
leetcode
算法
数据结构
贪心算法-2208.将数组和减半的最小操作数-力扣(
LeetCode
)
一、题目解析这里要注意恰好这个字眼,说明对任意数减小一半是不需要向上取整的,所以我们需要定义double类型的数据。二、算法解析我们需要将数组和减小为一半的次数最少,所以根据贪心算法,我们需要取数组中最大的数进行减半操作,但最优解也许不是每次都选择最大数进行减半操作,为什么贪心解就是正确的解呢?这个会在最后证明。解法:贪心+大根堆由于每次需要取最大的数进行减半操作,我们可以使用大根堆来存储数据。统
1白天的黑夜1
·
2025-04-29 12:59
贪心算法
leetcode
算法
c++
leetcode
_二叉树 105. 从前序与中序遍历序列构造二叉树
105.从前序与中序遍历序列构造二叉树给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例1:输入:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]输出:[3,9,20,null,null,15,7]示例2:输入:preorder=[-1],inorde
MiyamiKK57
·
2025-04-29 12:28
leetcode
算法
职场和发展
python
LeetCode
每日一题-2025.3.11 数组美丽值求和
难度:中等给你一个下标从0开始的整数数组nums。对于每个下标i(1nums[i]){pre[i]=max;}else{pre[i]=max;max=nums[i];}}//如果当前元素最小,则ord[i]更新为后面最小的一个intmin=nums[nums.length-1];for(inti=nums.length-1;i>=0;i--){if(minpre[i]&&nums[i]nums[i
Wenhao.
·
2025-04-29 12:26
数据结构与算法
leetcode
算法
数据结构
数据结构----栈和队列阅读笔记
组织数据的方式数据结构意味着接口或封装:一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装数组是最简单的内存数据结构,下面是常见的数据结构:数组(Array)栈(Stack)队列(Queue)
链表
四灵妖
·
2025-04-29 11:48
数据结构知识点
leetcode
-数据结构-栈和队列
232用栈实现队列栈的顺序为后进先出,而队列的顺序为先进先出。使用两个栈实现队列,一个元素需要经过两个栈才能出队列,在经过第一个栈时元素顺序被反转,经过第二个栈时再次被反转,此时就是先进先出顺序。classMyQueue{privateStacka;//输入栈privateStackb;//输出栈publicMyQueue(){a=newStack();}publicvoidpush(intx){
刚学会学习的平
·
2025-04-29 11:17
leetcode专题
队列
栈
数据结构
力扣HOT100之
链表
:23. 合并 K 个升序
链表
这道题我是用最淳朴最简单的思路去做的,用一个while循环持续地将当前遍历到的最小值加入到合并
链表
中,while循环中使用一个for循环遍历整个指针数组,将其中的最小值和对应下标记录下来,并将其值加入到合并
链表
中
编程绿豆侠
·
2025-04-29 06:14
力扣HOT100
leetcode
链表
算法
【
leetcode
】240.搜索二维矩阵 II (四种方法开阔思路,java实现)
240.搜索二维矩阵II难度中等编写一个高效的算法来搜索mxn矩阵matrix中的一个目标值target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵matrix如下:[[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]]给定target=5,返回tru
Hi丶ImViper
·
2025-04-29 02:16
LeetCode
算法
数据结构
java
面试
天梯——
链表
去重
思路数组模拟
链表
用结构体存储一个节点的键值和下一个节点地址,然后开一个结构体数组,用当前节点地址作为下标,这样可以直接访问再开一个标记数组flag,下标是每个节点键值的绝对值,初始化为0,用来标记该键值是否出现从题目给出的
链表
第一个节点开始遍历
链表
一定要AK
·
2025-04-29 02:44
链表
数据结构
代码随想录算法训练营day36|动态规划part4
LeetCode
:1049.最后一块石头的重量II_哔哩哔哩_bilibili代码随
aaal1234
·
2025-04-28 22:19
算法
动态规划
88、贪心-柠檬水找零-
LeetCode
-860.柠檬水找零
题目描述:在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单bills支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付5美元。注意,一开始你手头没有任何零钱。给你一个整数数组bills,其中bills[i]是第i位顾客付的账。如果你能给每位顾客正确找零,返回true,否则返回fa
烟白
·
2025-04-28 18:28
贪心
找零算法
贪心策略
柠檬水问题
动态规划
编程挑战
【C++贪心算法】零钱兑换的始端---柠檬水找零
前言:柠檬水找零:860.柠檬水找零-力扣(
LeetCode
)一、题目解析
CILMY23
·
2025-04-28 18:27
贪心算法
c++
开发语言
笔记
柠檬水找零
算法
贪心算法
上一页
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
其他