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.轮转数组
示例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. 随机链表的复制
这道题要求将整个链表进行深拷贝,新链表中不包含任何原链表的节点,但是新链表中各个节点存储的值和各个节点的指向关系需要和原链表一模一样。我的思考过程如下:1.新链表中的每一个节点的创建必须用new关键字来创建,而不能只是简单的拷贝赋值;2.由于ramdom指针的随机性,A->random可能指向nullptr,也可能指向A之后的某个节点,也有可能指向A之前的某个节点,也有可能指向自己,在构造链表的过
编程绿豆侠
·
2025-04-30 19:43
力扣HOT100
leetcode
链表
算法
一文搞定搜索
搜索算法入门二分查找左闭右开区间二分查找插入点无重复元素存在重复元素二分查找边界查找左边界查找右边界哈希优化策略线性查找哈希查找相关例题
leetcode
704.二分查找法一:二分查找
leetcode
278
TenPeaches
·
2025-04-30 18:30
数据结构与算法
算法
java
数据结构
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
蓝桥杯
职场和发展
4.4
力扣
|59螺旋矩阵II
原题链接:螺旋矩阵II类型:模拟解题过程:错误代码:#includeusingnamespacestd;vector>generateMatrix(intn){vector>mat(n,vector(n));intt=1;//填充的数字从1开始intx=1,y=n;//先考虑填满外圈while(t>n;vector>mat=generateMatrix(n);for(inti=1;iusingna
幼稚鬼?
·
2025-04-30 16:49
矩阵
线性代数
Day105 | 灵神 | 二叉树 出现次数最多的子树元素和
Day105|灵神|二叉树出现次数最多的子树元素和1026.节点与其祖先之间的最大差值1026.节点与其祖先之间的最大差值-
力扣
(
LeetCode
)思路:核心其实就是要维护遍历过程中的最大值和最小值,然后和本层的结点做减法找到最大值即可
为了前进而后退,为了走直路而走弯路
·
2025-04-30 14:04
刷题记录
深度优先
算法
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
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算法刷题
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,请你反转链表,并返回反转后的链表。classSolution{public:ListNode*reverseList(ListNode*head){//头插法ListNode*p=head;head=nullptr;ListNode*temp=nullptr;while(p!=nullptr){temp=p;p=p->next;temp->next=head;h
এ᭄画画的北北
·
2025-04-29 23:51
力扣hot100
leetcode
链表
算法
力扣
-141.环形链表
题目描述给你一个链表的头节点head,判断链表中是否有环。如果链表中存在环,则返回true。否则,返回false。classSolution{public:boolhasCycle(ListNode*head){ListNode*fast=head;ListNode*slow=head;while(fast!=nullptr&&fast->next!=nullptr){fast=fast->nex
এ᭄画画的北北
·
2025-04-29 23:51
力扣hot100
leetcode
链表
算法
力扣
-189.轮转数组
题目描述给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为O(1)的原地算法解决这个问题吗?classSolution{public:voidreverse(vector&nums,intstart,intend){for(inti=start;i&nums,intk){if(k>n
এ᭄画画的北北
·
2025-04-29 23:51
力扣hot100
leetcode
算法
力扣
-234.回文链表
题目描述给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。classSolution{public:boolisPalindrome(ListNode*head){//快慢指针找到中间结点p1(偶数个结点停在中左)ListNode*p1=head;ListNode*p2=head->next;if(p2==nullptr)returntrue
এ᭄画画的北北
·
2025-04-29 23:17
力扣hot100
leetcode
链表
算法
Leetcode
206. 反转链表
注意的点:这道题三番五次地做错,总是想着交换首尾链表的位置,其实正确的做法就是从头到尾两两交换链表的指针方向即可。解法:双指针classSolution:defreverseList(self,head:Optional[ListNode])->Optional[ListNode]:fast,slow=head,Nonewhilefast:temp=fast.nextfast.next=slows
普通攻击往后拉
·
2025-04-29 21:06
leetcode
链表
算法
leetcode
876. 链表的中间结点
题目描述:本题作为找链表中间结点的标准方法。这道题虽然简单,但是是进阶题目的基础,例如第2095题2095.DeletetheMiddleNodeofaLinkedList。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*List
洞阳
·
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
链表
算法
力扣
-数据结构-二叉树
94.二叉树的中序遍历给定一个二叉树的根节点root,返回它的中序遍历。示例1:输入:root=[1,null,2,3]输出:[1,3,2]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]方法一:递归实现(最简单)#Definitionforabinarytreenode.classTreeNode:def__init__(self,val=0,left=None,
opple66
·
2025-04-29 19:54
数据结构
leetcode
算法
leetcode
刷题日记——环形链表
[题目描述]:[思路]:给定一个链表的头节点,判断其中是否存在环可以设立两个快慢指针,快的走两步,慢的走一步,如果存在环,则总有一次,快指针一定会等于慢指针如果不存在环,则链表会被走到末尾运行如下/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/boolhasCycle(stru
许_安
·
2025-04-29 19:22
刷题日记
面试经典150题
leetcode
链表
算法
贪心算法---跳跃游戏
一、题目:
leetcode
55题跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。
i学学学学学习
·
2025-04-29 16:26
算法基础
贪心算法
leetcode
贪心算法
算法-贪心篇06-跳跃游戏 II
跳跃游戏II
力扣
题目链接题目描述给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向后跳转的最大长度。
Buling_0
·
2025-04-29 16:24
算法篇
算法
游戏
代码随想录算法训练营第六天
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
算法
数据结构
leetcode
-数据结构-栈和队列
232用栈实现队列栈的顺序为后进先出,而队列的顺序为先进先出。使用两个栈实现队列,一个元素需要经过两个栈才能出队列,在经过第一个栈时元素顺序被反转,经过第二个栈时再次被反转,此时就是先进先出顺序。classMyQueue{privateStacka;//输入栈privateStackb;//输出栈publicMyQueue(){a=newStack();}publicvoidpush(intx){
刚学会学习的平
·
2025-04-29 11:17
leetcode专题
队列
栈
数据结构
力扣
HOT100之链表:23. 合并 K 个升序链表
这道题我是用最淳朴最简单的思路去做的,用一个while循环持续地将当前遍历到的最小值加入到合并链表中,while循环中使用一个for循环遍历整个指针数组,将其中的最小值和对应下标记录下来,并将其值加入到合并链表中,同时对应的那条链表的指针后移一位。这里我们需要用到一个额外的辅助变量flag,在每一次执行for循环之前需要初始化为false,默认为所有链表都已经遍历到末尾,在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
面试
力扣
——17电话号码的字母组合
目录1.题目描述:2.算法思路:3.代码展示:1.题目描述:给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。示例1:输入:digits="23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例2:输入:digits=""输出:[]示例3:输入
2301_77433167
·
2025-04-28 23:53
leetcode
算法
数据结构
代码随想录算法训练营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++
开发语言
笔记
柠檬水找零
算法
贪心算法
力扣
LeetCode
860. 柠檬水找零(Day16:贪心算法)
解题思路:局部最优解在于收钱20元时,优先找零10+5,而不是5+5+5,因为5更通用一些,留在后面使用classSolution{publicbooleanlemonadeChange(int[]bills){intfive=0,ten=0,twenty=0;for(intbill:bills){if(bill==5)five++;elseif(bill==10){if(five>0){five
_OLi_
·
2025-04-28 18:26
leetcode
贪心算法
算法
代码随想录算法Day35(1)||贪心算法-
LeetCode
860柠檬水找零
学习内容参考卡哥代码随想录,有文字学习资料(代码随想录网站)和视频讲解(b站)1.柠檬水找零860题目
力扣
题目链接(opensnewwindow)在柠檬水摊上,每一杯柠檬水的售价为5美元。
luyimin87
·
2025-04-28 18:56
python
算法
贪心算法
d2025422
目录一、182.查找重复的电子邮箱-
力扣
(
LeetCode
)二、183.从不订购的客户-
力扣
(
LeetCode
)三、184.部门工资最高的员工-
力扣
(
LeetCode
)一、182.查找重复的电子邮箱-
力扣
学也不会
·
2025-04-28 15:38
算法&sql
linux
运维
服务器
力扣
hot100_子串_python版本
一、560.和为K的子数组思路:这就是一道典型的前缀和的题代码:classSolution:defsubarraySum(self,nums:List[int],k:int)->int:presum=[0]*(len(nums)+1)fori,xinenumerate(nums):presum[i+1]=presum[i]+x#前缀和序列需要n+1个ans=0cnt=defaultdict(int
Y1nhl
·
2025-04-28 09:27
力扣
leetcode
python
算法
职场和发展
开发语言
算法习题-
力扣
446周赛题解
算法可以调度思维,让程序员的思维发散,找到更好的解决方案。第一题:执行指令后的得分题目:给你两个数组:instructions和values,数组的长度均为n。你需要根据以下规则模拟一个过程:从下标i=0的第一个指令开始,初始得分为0。如果instructions[i]是add:将values[i]加到你的得分中。移动到下一个指令(i+1)如果instructions[i]是jump:移动到下标为
o独酌o
·
2025-04-28 08:55
#
算法练习题
leetcode
算法
leetcode
110 平衡二叉树
一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数。递归:classSolution{private:intgetheight(TreeNode*root){if(root==nullptr)return0;intleftheight=gethe
dokii1
·
2025-04-28 05:32
数据结构
java
算法
Day102 | 灵神 | 二叉树 合并二叉树
Day102|灵神|二叉树合并二叉树617.合并二叉树617.合并二叉树-
力扣
(
LeetCode
)思路:就是新建一个结点,然后找到左右子树给接上去把该节点返回就是了接子树的时候有下面几种情况1.如果root1
为了前进而后退,为了走直路而走弯路
·
2025-04-28 01:35
刷题记录
深度优先
算法
数据结构
考研
力扣
hot100题解(python版81-90题)
81、爬楼梯假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶。1.1阶+1阶+1阶2.1阶+2阶3.2阶+1阶提示:1int:ifn==1:return1dp=[0]*(n+1)dp[0]=dp[1]=1fo
小橘子831
·
2025-04-27 23:23
算法
leetcode
python
算法
上一页
28
29
30
31
32
33
34
35
下一页
按字母分类:
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
其他