- 2024-11-22leetcode202. 快乐数
编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为1,也可能是 无限循环 但始终变不到1。如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐
- 2024-11-21数据结构 【带环链表2】
说到带环链表,有一道题目是这样说的,如果一个链表存在环,那么就返回进入环的第一个节点,如果链表没有环,那么就返回空。这里给出两种解题思路: 第一种解法:小结论解法 分析:这道题目可以拆分成两个部分,第一:检查链表是否带环。第二:返回带环链表的第
- 2024-11-20LCR 022. 环形链表 II(中等)(主站142)
https://leetcode.cn/problems/c32eOV/https://leetcode.cn/problems/linked-list-cycle-ii/难度:☆☆☆题目:给定一个链表,返回链表开始入环的第一个节点。从链表的头节点开始沿着next指针进入环的第一个节点为环的入口节点。如果链表无环,则返回null。为了表示给定
- 2024-11-20LCR 021. 删除链表的倒数第 N 个结点(中等)(主站19)
https://leetcode.cn/problems/SLwz0R/https://leetcode.cn/problems/remove-nth-node-from-end-of-list/难度:☆☆☆题目:给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]输入:head=[1],n=1输出
- 2024-11-19代码随想录:删除链表的倒数第N个节点
代码随想录:删除链表的倒数第N个节点链表题目如果想找当前节点的前n个节点的话,用双指针法。另外务必用虚头节点。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*
- 2024-11-18代码随想录算法训练营第四天|LC24.两两交换链表中的节点|LC19. 删除链表的倒数第 N 个结点|LC160. 相交链表|142. 环形链表 II
24.两两交换链表中的节点-力扣(LeetCode) 1、需要一个虚拟节点进行帮助; 2、注意虚拟节点的连接以及变化(尝试有点困惑它的变化,后面有点理解); 3、注意后续第二组的交换时如何与第一组交换进行连接;fromtypingimportOptionalclassLis
- 2024-11-17Leetcode141-环形链表
思路链表判环方法:快慢指针法其实没那么高级,很简单的理解就是,采用两个指针,一个每次走两步,一个每次走一步,如果链表有环,那么每次走两步的指针,也就是走得快的指针一定会追上走得慢指针。代码第一种写法://写法1publicclassSolution{publicbooleanhasCycle(ListN
- 2024-11-12OJ08题:876. 链表的中间结点
目录题目思路分析代码展示题目给你单链表的头结点head,请你找出并返回链表的中间结点。注:如果有两个中间结点,则返回第二个中间结点。示例1:输入:head=[1,2,3,4,5]输出:[3,4,5]解释:链表只有一个中间结点,值为3。示例2:输入:head=[1,2,3,4,5,6]输出:[4,5
- 2024-11-12代码随想录算法训练营第四天(LeetCode24.两两交换链表中的节点;LeetCode10.删除链表的倒数第N个节点;LeetCode面试题02.07.链表相交;LeetCode142.环形链表Ⅱ)
LeetCode24.两两交换链表中的节点题目链接:两两交换链表中的节点题目链接思路这道题其实就是一个模拟题,要求每次交换链表中两个相邻的节点(1、2节点互换;3、4节点互换;2、3节点不互换,意思就是交换过的节点不参与后续的交换了),同时只能进行节点交换,不能进行值交换。主要考
- 2024-11-07283. 移动零
题目自己写通过的:classSolution{public:voidmoveZeroes(vector<int>&nums){intslow=0,fast=0;while(fast<nums.size()){if(nums[slow]==0&&nums[fast]!=0){
- 2024-11-07【LeetCode】返回链表的中间结点、删除链表的倒数第 N 个结点
主页:HABUO
- 2024-11-01单链表题+数组题(快慢指针和左右指针)
@目录说明:本文章用于“单链表题+数组题”“链表”知识一、案例说明(使用快慢指针)问题1.1判断链表是否有环问题1.2:已知链表有环,请返回这个环的起点位置问题1.3:寻找无环单链表的中点,要求:如果偶数个数以左面一个节点为中点问题1.4:寻找无环单链表的中点,要求:如果偶数个数以右面一个节
- 2024-10-29LeetCode 202 - 快乐数
题目描述编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或者进入一个无限循环但始终变不到1。如果这个过程的结果为1,那么这个数就是快乐数。如果 n 是快乐
- 2024-10-28142. 环形链表 II Golang实现
#题目描述:给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如
- 2024-10-26【SQL 性能分析的4种详细贯通方法】Com______;慢查询日志slow_query_log;profile;explain/desc
SQL性能分析是一个多维度的过程,涉及到对数据库操作的监控、诊断和优化。以下是使用四种方法详细且连贯地描述SQL性能分析的过程:1.Com_xxx计数器分析MySQL提供了Com_xxx状态变量,用于跟踪不同类型的SQL语句被执行的次数。这些计数器可以帮助我们了解数据库的使用模式和负
- 2024-10-22【快慢指针】LeetCode 143. 重排链表
题解用快慢指针先找到中间结点,然后断开前后两条链,用头插法的思路逆转后面那条链,最后两条链依次从前往后遍历插入即可。参考代码/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nul
- 2024-10-21纵然链长千里,心终会在交点重逢
公主请阅1.环形链表I1.1题目说明示例1示例2示例31.2题目分析1.3代码部分1.4代码分析2.环形链表II2.1题目说明示例1示例2示例32.2题目分析2.2代码部分2.4代码分析3.两道题的原理3.1快慢指针的工作原理3.2为什么快慢指针一定会在环内相遇?3.3
- 2024-10-2027. 移除元素
题目这道题通过是通过了,但是有很多可以改进的地方:附上本人第一次写通过的代码:/*slow的作用:作为慢指针,职责是找到val所在的位置quick的作用:作为快指针,职责是找到第一个可以和slow所指的元素互换位置的元素*/classSolution{public:intremoveElement(vector<int>
- 2024-10-18数据库性能调优:定位Slow SQL!
定位慢SQL(SlowSQL)是数据库性能调优中的一个重要任务,目的是找到和优化那些执行时间较长的SQL查询。以下是常用的定位慢SQL的方法和步骤:1.使用数据库自带工具大多数数据库管理系统(DBMS)提供了内置的工具和视图来帮助定位慢SQL。以下是一些主要数据库的常用工具:MySQL慢
- 2024-10-1883. 删除排序链表中的重复元素 线性法&快慢双指针
83.删除排序链表中的重复元素给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:head=[1,1,2,3,3]输出:[1,2,3]提示:链表中节点数目在范围 [0,300] 内-100<=
- 2024-10-18WDT
参考:https://zhuanlan.zhihu.com/p/711237133模式1.WDGIF_FAST_MODE:mode12.WDGIF_OFF_MODE:mode23.WDGIF_SLOW_MODE:mode0默认初始化为WDGIF_SLOW_MODE,等待初始化完成后切换成WDGIF_FAST_MODEWDGIF_FAST_MODE设置:问题:反复重启WDGIF_SLOW_MODE模式下,初始化过程中未来
- 2024-10-15代码随想录刷题学习日记
仅为个人记录复盘学习历程,解题思路来自代码随想录代码随想录刷题笔记总结网址:代码随想录替换数字给定一个字符串s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。提供参数:strings主要操作:将数组扩容到所有数字都
- 2024-10-11Letcode--反转链表+回文链表
ok小伙伴们,今天给大家带来关于链表的算法题目。首先学习一下反转链表,大家先看题目: 这道题目比较简单,所以先给大家看一下代码:ListNode*reverseList(ListNode*head){if(!head){returnnullptr;}ListNode*pre=nullptr,*cur=h
- 2024-10-05代码随想录算法训练营day4|● 24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 142.环形链表I
学习资料:https://programmercarl.com/0024.两两交换链表中的节点.html学习记录:24.两两交换链表中的节点(添加虚拟头节点;交换1、2节点和3、4节点时,要用1前面的cur,先保存1为temp且3保存为temp1,cur指向2,再把2指向temp,因为cur指向2后就与1没关联了)点击查看代码#Definitionforsi
- 2024-09-29代码随想录一刷day2
T27移除元素 注意复习思路快慢指针:快指针:指向遍历的元素慢指针:指向需要替换的元素实现:slowIndex=0;通过遍历fastIndex,当target!=nums【fastIndex】,nums【slowIndex++】=nums【fastIndex】; T26理解快慢指针 nums[fast]!=nums[slow]时,交换两个的值且slow++;其他就f