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
Hot100
【力扣】[热题
HOT100
] 279.完全平方数
1、题目给定正整数n,找到若干个完全平方数(比如1,4,9,16,…)使得它们的和等于n。你需要让组成和的完全平方数的个数最少。给你一个整数n,返回和为n的完全平方数的最少数量。完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。链接:https://leetcode-cn.com/problems/perfec
失落的换海迷风
·
2024-09-15 04:42
#
热题HOT100
动态规划
完全平方数
LeetCode
最优解
最小数量
【
Hot100
】LeetCode—64. 最小路径和
目录1-思路题目识别动规五部曲2-实现⭐64.最小路径和——题解思路3-ACM实现原题链接:64.最小路径和1-思路题目识别识别1:给一个二维数组grid,每次只能向下或者向右移动一步识别2:求移动到右下角的最小路径和动规五部曲求的是路径的和,与不同路径的区别在于是否加上当前grid[i][j]的值2-实现⭐64.最小路径和——题解思路classSolution{publicintminPathS
山脚ice
·
2024-09-13 13:25
#
Hot100
leetcode
算法
【
Hot100
】LeetCode—763. 划分字母区间
目录1-思路哈希表+双指针2-实现⭐763.划分字母区间——题解思路3-ACM实现原题链接:763.划分字母区间1-思路哈希表+双指针①找到元素最远的出现位置:哈希表②根据最远出现位置,判断区间的分界线:双指针实现1-定义一个哈希数组,判断最远出现的位置:int[]hash=newint[27]遍历字符串,记录最远出现位置2-分割点利用数组,收集结果intleft=0;intright=0;记录左
山脚ice
·
2024-09-12 19:53
#
Hot100
leetcode
哈希算法
代码随想录算法训练营 Day5 |
Hot100
| 53.最大子数组和 56.合并区间 189.轮转数组 238.除自身以外数组的乘积
Day5休息,看看
hot100
类DP或者前缀和问题53.MaximumSubarrayclassSolution{public:intmaxSubArray(vector&nums){if(nums.size
火烧沙发土豆
·
2024-09-09 15:02
代码随想录算法训练营
算法
leetcode
数据结构
【
Hot100
】LeetCode—118. 杨辉三角
目录1-思路模拟2-实现⭐118.杨辉三角——题解思路3-ACM实现原题链接:118.杨辉三角1-思路模拟1-定义grid2-实现递推公式3-初始化4-遍历递推收集结果2-实现⭐118.杨辉三角——题解思路classSolution{publicList>generate(intnumRows){int[][]grid=newint[numRows][numRows];//初始化for(inti=
山脚ice
·
2024-09-09 13:51
#
Hot100
leetcode
算法
【
Hot100
】LeetCode—215. 数组中的第K个最大元素
目录1-思路快速选择2-实现⭐215.数组中的第K个最大元素——题解思路3-ACM实现原题连接:215.数组中的第K个最大元素1-思路快速选择第k大的元素的数组下标:inttarget=nums.length-k1-根据partition分割的区间来判断当前处理方式如果返回的int等于target说明找到了,直接返回如果返回的int小于target说明要在当前区间的右侧寻找,也就是[pivotIn
山脚ice
·
2024-09-07 20:39
#
Hot100
leetcode
算法
【
Hot100
】LeetCode—153. 寻找旋转排序数组中的最小值
目录1-思路二分2-实现⭐33.搜索旋转排序数组——题解思路3-ACM实现原题链接:153.寻找旋转排序数组中的最小值1-思路二分左区间二分找分界点,二分找到旋转后的分界点即可以nums[mid]为基准,对比nums[0]即可找到区间分界点2-实现⭐33.搜索旋转排序数组——题解思路classSolution{publicintfindMin(int[]nums){intleft=0;intrig
山脚ice
·
2024-09-03 21:15
#
Hot100
leetcode
java
算法
【
Hot100
】LeetCode—33. 搜索旋转排序数组
目录1-思路二分2-实现⭐33.搜索旋转排序数组——题解思路3-ACM实现原题链接:33.搜索旋转排序数组1-思路二分①左区间二分、②寻找目标值所处区间、③二分目标值①左区间二分——>找到最后一个比nums[0]大的元素,也就是前半段即nums[mid]>=nums[0]②寻找目标值所在区间if(target>=nums[0])——>left=0;else{left=left+1;right=nu
山脚ice
·
2024-09-03 20:11
#
Hot100
leetcode
算法
【
Hot100
】LeetCode—20. 有效的括号
目录1-思路栈实现2-实现⭐20.有效的括号——题解思路3-ACM实现原题链接:20.有效的括号1-思路栈实现遇到一个左括号,将对应的右括号压栈处理否则弹出栈顶元素,比较和当前括号是否一致,不一致返回false三种情况①左右不匹配②左多右少,判断在最后返回st.isEmpty()上③左少右多,判断在elseif(st.isEmpty()||c!=st.peek())2-实现⭐20.有效的括号——题
山脚ice
·
2024-09-03 14:30
#
Hot100
leetcode
java
算法
leetcode刷题记录-两数相加
leetcode小白每日做题记录习题集:
hot100
(c++)题目:第二题两数相加(难度中等)做题思路小白目前只能想到比较直接的方法:本题是采用不带头结点的单链表进行操作的(这里要注意!
每天都一万遍想吃
·
2024-09-02 15:41
leetcode
【
hot100
篇-python刷题记录】【回文链表】
R7-链表篇思路:转回文数组法链表转数组,再使用双指针判断是不是回文数组即可。wkao?!根本不用双指针判断是否回文数组,只需要倒序判断布尔值即可。(牛啊牛啊)#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolut
我明天再来学Web渗透
·
2024-09-02 00:34
力扣hot100-python
链表
数据结构
python
开发语言
leetcode
算法
职场和发展
【
Hot100
】LeetCode—79. 单词搜索
目录1-思路回溯2-实现⭐79.单词搜索——题解思路3-ACM实现原题链接:79.单词搜索1-思路回溯思路:①遍历每个单元格(作为起点)、②对每个单元格进行回溯(起点回溯)1-起点用两层for循环遍历每个单元格,之后对当前单元格进行dfs2-回溯操作由于需要对每个单元格进行回溯,所以i和j的位置,回溯函数必须要知道,因此传参中必须有i和j2-实现⭐79.单词搜索——题解思路classSolutio
山脚ice
·
2024-08-30 00:16
#
Hot100
leetcode
算法
【
Hot100
】LeetCode—105. 从前序与中序遍历序列构造二叉树
目录1-思路递归2-实现⭐105.从前序与中序遍历序列构造二叉树——题解思路3-ACM实现原题连接:105.从前序与中序遍历序列构造二叉树1-思路递归前序:中左右中序:左中右让前序的第一个元素作为中序的分割点分割思路1-递归参数与返回值(递归的指针是左闭右开的也就是[left,right)的)preOrder前序数组;pLeft中序数组左指针用于切割;pRight:中序数组右指针用于切割inOrd
山脚ice
·
2024-08-29 23:44
#
Hot100
leetcode
算法
职场和发展
LeetCode
Hot100
:128、最长连续序列
题目:最长连续序列给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。方案一:哈希表classSolution{public:intlongestConsecutive(vector&nums){unordered_setS;for(inti=0;i
心瘾こころ
·
2024-08-29 09:39
leetcode
Hot100
leetcode
哈希算法
散列表
LeetCode
Hot100
:283、移动零
题目:移动零给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。方案一:双指针classSolution{public:voidmoveZeroes(vector&nums){intj=0,cnt=0;//j:现在有用的位置指针//cnt:现在有几个0for(inti=0;i
心瘾こころ
·
2024-08-29 09:39
leetcode
Hot100
leetcode
算法
职场和发展
LeetCode
Hot100
:11、盛最多水的容器
题目:盛最多水的容器给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。方案一:双指针思路介绍:对于样例[1,8,6,2,5,4,8,3,7]。我们用一个指针i指向第一个数,用指针j指向最后一个数。i指向1,j指向7。这两个指
心瘾こころ
·
2024-08-29 09:39
leetcode
Hot100
leetcode
算法
职场和发展
LeetCode
Hot100
:1、两数之和
题目:两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。方案一:sort+双指针typedefpairPII;classSolution{public:vectortwoSum(vector&nums,inttarget
心瘾こころ
·
2024-08-29 09:38
leetcode
Hot100
leetcode
哈希算法
算法
【
Hot100
】LeetCode—208. 实现 Trie (前缀树)
目录1-思路数组哈希表+isEnd字段2-实现⭐208.实现Trie(前缀树)——题解思路3-ACM实现题目连接:208.实现Trie(前缀树)1-思路数组哈希表+isEnd字段前缀树的当前结点,存储的是下一个子节点的元素值。当前结点中的内容是一个哈希表,和isEnd字段①前缀树节点classTrieNode{booleanisEnd=false;TrieNode[]children;public
山脚ice
·
2024-08-28 06:39
#
Hot100
leetcode
算法
力扣
HOT100
- 46. 全排列
解题思路:回溯假设给定数组nums为[1,2,3],首先将其转换为List类型的output为[1,2,3]。在backtrack方法中,初始时first为0,所以进入第一个for循环,交换output中第一个元素和自身,然后递归调用backtrack方法,此时first为1,再次进入for循环,交换output中第二个元素(即2)和自身。这样得到的output为[1,2,3],添加到结果集中。接
_OLi_
·
2024-08-28 06:39
力扣HOT100
算法题合集
leetcode
算法
java
秋招力扣
Hot100
刷题总结——堆
1.数组中的第K个最大元素题目链接题目要求:给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。你必须设计并实现时间复杂度为O(n)的算法解决此问题。代码及思路使用小根堆来解决,遍历数组,将元素放入堆中当堆的大小大于k时,将堆顶元素弹出最终堆中元素是数组中最大的k个元素,且堆顶是其中最小的代码classSolutio
番茄炒西红柿炒蛋
·
2024-08-27 13:15
秋招Java后端
力扣刷题
leetcode
算法
java
LeetCode 热题 HOT 100 第47天:“最长连续序列”
继续刷LeetCode热题
HOT100
的题目,并且在博客更新我的solutions。在csdn博客中我会尽量用文字解释清楚,相关Java代码大家可以前往我的个人博客jinhuaiyu.com中查看。
ultimate小锦
·
2024-08-27 10:01
leetcode
算法
hashmap
hashset
leetcode 题解
hot100
系列 146.LRU 缓存算法
146.LRU缓存算法题目:请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intvalue)如果关键字key已经存在,则变更其数据值value;如果
城南顾北
·
2024-08-25 18:10
#
hot100
前端
算法
leetcode
【
Hot100
】LeetCode—124. 二叉树中的最大路径和
目录1-思路dfs深搜实现2-实现⭐124.二叉树中的最大路径和——题解思路3-ACM实现题目连接:124.二叉树中的最大路径和1-思路理解dfs的返回值,为什么只能是root.val+Math.max(left,right)因为遍历的过程中只能从上到下,选择一条路径dfs深搜实现①终止条件:如果root==null则返回0②递归公式sum=root.val+left+right;res=Math
山脚ice
·
2024-08-25 18:39
#
Hot100
leetcode
算法
职场和发展
LeetCode
Hot100
146.LRU缓存
classLRUCache{public:intcapacity;intsize;unordered_map::iterator>>hash;listq;//backasbottom,frontastopLRUCache(intcapacity){this->capacity=capacity;}intget(intkey){if(hash.find(key)==hash.end())return
doglc
·
2024-08-25 18:08
LeetCode每日刷题记录
#
LeetCode中等题
leetcode
哈希算法
【
Hot100
】LeetCode—104. 二叉树的最大深度
目录1-思路队列——层序遍历2-实现⭐104.二叉树的最大深度——题解思路3-ACM实现原题连接:104.二叉树的最大深度1-思路队列——层序遍历1-借助队列实现层序遍历Queuequeue=newLinkedListres=newArrayListqueue=newLinkedList0){TreeNodenowNode=queue.poll();if(nowNode.left!=null)qu
山脚ice
·
2024-08-24 06:29
#
Hot100
leetcode
算法
【
hot100
篇-python刷题记录】【搜索插入位置】
R5-二分查找篇二分查找不用教了吧classSolution:defsearchInsert(self,nums:List[int],target:int)->int:left,right=0,len(nums)-1#使得[left,right]区间不为空whileleft<=right:mid=(left+right)//2ifnums[mid]
我明天再来学Web渗透
·
2024-08-22 08:47
python
开发语言
算法
leetcode
【力扣
hot100
】刷题笔记Day24
前言组会前一点不慌,反正跑不出好东西,能应付就行,早上直接刷题70.爬楼梯-力扣(LeetCode)动态规划classSolution:defclimbStairs(self,n:int)->int:dp=[0]*(n+1)#dp[n]表示爬n阶楼梯需要多少格dp[0]=1#0格和1格初始化为1dp[1]=1foriinrange(2,n+1):dp[i]=dp[i-1]+dp[i-2]#dp[i
小涛44
·
2024-03-14 03:24
力扣hot100刷题笔记
leetcode
笔记
算法
职场和发展
数据结构
力扣爆刷第85天之
hot100
五连刷11-15
力扣爆刷第85天之
hot100
五连刷11-15文章目录力扣爆刷第85天之
hot100
五连刷11-15一、239.滑动窗口最大值二、76.最小覆盖子串三、53.最大子数组和四、56.合并区间五、189.轮转数组一
当年拼却醉颜红
·
2024-03-06 01:23
力扣算法题
leetcode
算法
职场和发展
leetcode
hot100
单词拆分
在本题中,我们是要把一个字符串,判断是否能用给的字符串数组中的单词进行拆分,如果可以则返回true,不能的话则返回false。这个题一开始看无法与背包问题联系在一起。但仔细考虑,就是用物品(给的字符串数组中的单词)去装背包(给定的字符串)。如果可以凑成,那么就返回true。并且题目中所说的单词可以重复使用,也就是完全背包问题。并且我们要考虑,这个题是否需要考虑遍历顺序拿s=“applepenapp
buptlzl
·
2024-02-25 19:01
leetcode
算法
职场和发展
[力扣
Hot100
]Day31 K 个一组翻转链表
题目描述给你链表的头节点head,每k个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。出处思路跟昨天两两交换的思路一致,引入了指针数组来用空间换时间,改进了一下使得主函数更加简洁。代码classSolution{public:ListNo
谛听misa
·
2024-02-20 20:41
力扣Hot100题
leetcode
链表
算法
[力扣
Hot100
]Day30 两两交换链表中的节点
题目描述给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。出处思路前两个结点先偷一手用交换val做,从链表第1项(0开始计数)开始递归调用来交换结点。代码classSolution{public:ListNode*my_swap(ListNode*h){//交换h后的两个结点并返回下一结点的指针if(!h->next
谛听misa
·
2024-02-20 20:38
力扣Hot100题
leetcode
链表
算法
[力扣
Hot100
]Day29 删除链表的倒数第 N 个结点
题目描述给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。出处思路两个指针间隔n,一趟遍历解决。代码classSolution{public:ListNode*removeNthFromEnd(ListNode*head,intn){ListNode*p=head;ListNode*q=head;while(n>0){q=q->next;n--;}if(!q){q=p->next;de
谛听misa
·
2024-02-19 14:20
力扣Hot100题
leetcode
链表
算法
[力扣
Hot100
]Day27 合并两个有序链表
题目描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。出处思路简单题,两个指针就能解决。代码classSolution{public:ListNode*mergeTwoLists(ListNode*list1,ListNode*list2){if(!list1)returnlist2;if(!list2)returnlist1;ListNode*p1=
谛听misa
·
2024-02-19 14:19
力扣Hot100题
leetcode
链表
算法
[力扣
Hot100
]Day28 两数相加
题目描述给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0开头。出处思路逆序两数相加也是逆序返回,可以用一个进位位来模拟(进位位只有可能是0或1)。要考虑谁长谁短的问题,最终结果可能需要在最长的基础上再新加一位(新建一个尾结点)。代码classS
谛听misa
·
2024-02-19 14:43
力扣Hot100题
leetcode
算法
LeetCode 239.滑动窗口的最大值
Hot100
单调栈
给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例1:输入:nums=[1,3,-1,-3,5,3,6,7],k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值--------------------[13-1]-3536731[3-1-3]5367313[-
Daydreaming Kid
·
2024-02-19 10:22
Leetcode刷题之路
算法
leetcode
算法
java
刷题感觉1
此时,我已经刷了77题,
hot100
中的45题,我从未想过我能够有能力刷这么多,不给自己设置目标,仅仅是喜欢而已!
forsunlight
·
2024-02-14 18:38
LeetCode
Hot100
31.下一个排列
文章目录题目描述题目解法完整代码题目描述整数数组的一个排列就是将其所有成员以序列或线性顺序排列。例如,arr=[1,2,3],以下这些都可以视作arr的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的下一个排列是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的下一个排列就是在这个有序容器中排在它后面的那
Daydreaming Kid
·
2024-02-11 16:58
Leetcode刷题之路
leetcode
算法
职场和发展
LeetCode
Hot100
438.找到字符串中所有字母异位词
文章目录题目描述解法题目描述给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。示例1:输入:s=“cbaebabacd”,p=“abc”输出:[0,6]解释:起始索引等于0的子串是“cba”,它是“abc”的异位词。起始索引等于6的子串是“bac”,它是“abc”的异位词。示例2:输入:s=“
Daydreaming Kid
·
2024-02-11 16:28
Leetcode刷题之路
leetcode
算法
职场和发展
LeetCode
Hot100
15.三数之和
文章目录题目描述回溯法(解不了,超时了,参考下剪枝)双指针循环题目描述给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输出:[[-
Daydreaming Kid
·
2024-02-11 16:27
Leetcode刷题之路
leetcode
算法
深度优先
力扣
hot100
-- 双指针
目录移动零盛最多水的容器三数之和接雨水前缀和+辅助数组双指针单调栈移动零283.移动零-力扣(LeetCode)关于swap#include#include#includeintmain(){std::vectorvec={1,2,3,4,5,6,7};//交换vec中第1个和第7个元素std::swap(vec[0],vec[6]);//输出交换后的结果for(constauto&num:vec
千帐灯无此声
·
2024-02-09 18:40
#
力扣
hot
100
leetcode
算法
职场和发展
力扣
hot100
-- 哈希
目录两数之和暴力二分哈希字母异位词分组unordered_map+排序unordered_map+计数最长连续序列unordered_set+跳过前驱排序+dp两数之和1.两数之和-力扣(LeetCode)暴力O(n^2)两层循环classSolution{public:vectortwoSum(vector&nums,inttarget){//返回vector数组intn=nums.size()
千帐灯无此声
·
2024-02-09 14:27
#
力扣
hot
100
力扣
算法
笔记
hot100
-字母异位词分组
题目介绍给定一个字符串数组,要求将其中的字母异位词组合在一起,并可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=[“eat”,“tea”,“tan”,“ate”,“nat”,“bat”]输出:[[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]示例2:输入:strs=[“”]输出:[[“”]]理解字母异位
redvelet
·
2024-02-08 22:08
数据结构和算法
字母异位词分组
哈希表
hot100
computeIfAbsent
HashMap
【力扣
hot100
】刷题笔记Day4
前言在家整个人就犯懒了...学习懒惰+社交懒惰,除了每天做家教,一整天也没做什么正事,要实在不想学习就和去年过年那样看看书也行啊3.无重复字符的最长子串-力扣(LeetCode)还是灵神的题解最清晰,滑动窗口的模板参考【代码随想录】刷题笔记Day5classSolution:deflengthOfLongestSubstring(self,s:str)->int:ans=left=0window=
小涛44
·
2024-02-08 03:36
力扣hot100刷题笔记
笔记
leetcode
算法
职场和发展
数据结构
[力扣
Hot100
]Day23 反转链表
题目描述给你单链表的头节点head,请你反转链表,并返回反转后的链表。出处思路经典考研题,用头插法解决。代码classSolution{public:ListNode*reverseList(ListNode*head){if(!head||!head->next)returnhead;ListNode*p1=head;ListNode*p2=head->next;ListNode*p3=head
谛听misa
·
2024-02-07 23:48
力扣Hot100题
leetcode
链表
算法
[力扣
Hot100
]Day25 环形链表
题目描述给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。否则,返回false。出处思路经典考研题,使用快慢两指针,若有换两指针必
谛听misa
·
2024-02-07 23:48
力扣Hot100题
leetcode
链表
算法
[力扣
Hot100
]Day26 环形链表 II
题目描述给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。出处思路跟昨
谛听misa
·
2024-02-07 23:48
力扣Hot100题
leetcode
链表
算法
[力扣
Hot100
]Day24回文链表
题目描述给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。出处思路首先计算链表长度n,然后拿一个数组存前n/2项,若n为奇数则略过第n/2+1项,随后对链表后n/2项遍历,与数组内容比对即可。代码classSolution{public:boolisPalindrome(ListNode*head){vectorstack;intn=0;Li
谛听misa
·
2024-02-07 23:45
力扣Hot100题
leetcode
算法
LeetCode
Hot100
回顾(二)
子串560.和为K的子数组使用前缀和预处理一下题目给的数组,然后用二重循环遍历一遍就可以了。239.滑动窗口最大值看题面比较容易想到的是用优先级队列来解决,但是STL中的priority_queue不支持随机删除,如果要用优先级队列来解决这道题的话比较复杂。这道题的一种正确解法是用单调队列来处理,单调队列专门用来处理类似滑动窗口的区间最值问题。接下来来看针对这道题,单调队列是如何处理元素的入队和出
9ack!?
·
2024-02-06 17:19
leetcode
算法
职场和发展
LeetCode
Hot100
回顾(三)
链表141.环形链表快慢指针一直走,如果走到某一时刻快慢指针指向内容相等了,说明有环。142.环形链表II找到环并找到入环的第一个节点,朴素做法可以用一个set来记录走过的节点,这样在验证环的时候也可以找到第一个入环的节点;高级做法还是利用快慢指针来做,假设链表到环入口的节点个数为xxx个,环上节点有yyy个:快指针走过的节点数为fff,慢指针走过的节点数为sss,则有f=2sf=2sf=2s由于
9ack!?
·
2024-02-06 17:48
leetcode
算法
职场和发展
五、leetcode之三数之和(力扣热题
HOT100
系列)
三数之和问题描述:问题分析:特别注意:实现思路:实现代码问题描述:问题分析:其实三数之和很类似于两数之和的问题。两数之和是寻找两个数字之和满足给定的目标值。这个场景中,给定的目标值是题目所给定的不变值。而三数之和,我们可以拆分的细一点。假如给定数组1234,target=0。我们进行求解的时候,可以先拿出来一个值,假如说拿出来1,那么我们还需要找出另外两个数的和是(0-1)也就是-1即可。所以问题
KeinoJust
·
2024-02-04 19:14
指针
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他