- 2024-11-02代码随想录一刷day6 (链表day2)(链表完结)
24.两两交换链表中的节点分三步走;1.创建dummyhead2.三个指针 cur t1 t23. cur->next=t2; t1->next=t2->next; t2->t1->next; 最后让cur=t1;注意最后返回的是dummyhead-》next 而不是head;注意最后deletedummyhead19.删除链表的倒数第N个节点注
- 2024-10-23代码随想录-环形链表II
题目与解析 题目链接:环形链表II本题两个关键点,1、确定有环2、确定环的入口位置 提供两种解法,第一种是我借助了一个辅助的列表来记录指针,空间复杂度O(n)比较无脑 第二种是Carl哥的双指针法,又是套圈问题,虽然很难想,但还是推荐这种方式,这才是算法解法一:publ
- 2024-10-222022.10.24
练习情况P8593「KDOI-02」一个弹的投题目拆分为两个问题,一个是求每个炸弹的威力,另一个是求最多减少多少威力。根据物理知识可知,当且仅当\(y_i=y_j\)时,这两枚导弹才有可能相遇。将落地点离散化。使用权值树状数组求逆序对。Code:P8593CF1311FMovingPoints将速度离散
- 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-09-12LeetCode Hot100刷题记录-142. 环形链表 II
给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是
- 2024-09-07我发布了一款相亲平台《i相遇》
因缘际会之下,我踏入了相亲平台的领域。起初,是为一位客户打造专属相亲应用,过程中深入体验了众多同类平台,却遗憾地发现它们普遍掺杂着欺诈的阴影——高昂的费用、兼职托儿的身影、以及虚假的钓鱼信息,不一而足。完成客户项目后,我决定自己运营一款专为互联网人量身打造的相亲平台。我
- 2024-08-24相遇(容斥+最短路+分类,水紫)
第5题 相遇 查看测评数据信息给定一个有n个节点m条边的无向图,在某一时刻节点st上有一个动点a,节点end上有一个动点b,动点a向节点end方向移动,要求是尽快到达end点,与此同时,动点b向节点st方向移动,要求是尽快到达st点,但是整个过程中a和b不能相遇,问两点不相遇一共有多少种
- 2024-08-04LeetCode | 141 linked list cycle
https://github.com/dolphinmind/datastructure/tree/datastructure-linkedlist分析证明过程基本假设假设环的长度为(C)假设从链表的头部到环的入口点的距离为(A)假设从环的入口点到快慢指针第一次相遇点的距离为(B)假设从快慢指针第一次相遇点回到环的入口点的距离为(C
- 2024-07-20链表带环问题简单讲解
#带环链表解题思路对于这道题我们可以定义两个指针,一个快指针,一个慢指针。快指针一次走两步,慢指针一次走一步。这样快指针就会比慢指针先进入环内。慢指针进入环后,这个问题就会演变成一个追击问题,即:快指针能否追上慢指针并与之重合。假设,慢指针进入环后与快指针的距
- 2024-07-17LeetCode-环形链表、环形链表 II
一、环形链表.-力扣(LeetCode)判断是否有环,使用快慢指针,开始时都指向头节点,快指针每次走两部,慢指针每次走一步,如果在走的过程中,慢指针和快指针相同(也就是快指针和慢指针指向的节点的同)那么就说明这个链表是带环链表;原理: 若是这个链表代换,那么快慢指针一定不会走向NULL;只
- 2024-06-03Floyd判圈算法 leetcode
龟兔赛跑/Floyd判圈算法概述判断一个链表是否存在环画图演示两个指针相遇的情况:查找链表中环的首个节点在这里插入图片描述数学公式表示为:(对应力扣142.环形链表II,141.环形链表I)判断一个链表是否存在环龟兔赛跑/Floyd判圈算法转换成判断链表是否存
- 2024-04-22P4320 道路相遇
链接:https://www.luogu.com.cn/problem/P4320圆方树基础题实际上就是问给定起点和终点的一条路径上的割点数量。那么建立好圆方树以后,割点的相邻两个点一定是方点,圆点到圆点之间的距离一定是偶数,于是可以知道一条路径中的割点数量=路径总长度/2向下取整。那么这道题就转化成建
- 2024-04-08C++奇迹之旅:我与类和对象相遇
文章目录
- 2024-03-24Floyd 判圈算法
概述 Floyd判圈算法又称作是龟兔赛跑算法,就是快慢指针的应用,主要用于判断并找到环形链表的入口。做法是设置两个指针,一个快指针(兔子),一个慢指针(乌龟),快指针一次移动两个节点,慢指针一次移动一个节点。如果有环存在,它们第一次会在环上相遇,这时快指针移动到出发点,转换成慢指针(就是
- 2023-12-31代码随想录 小结02 链表
第一题移除链表元素这题比较简单使用dummyHead的方式会比较简单不需要对头指针进行单独处理但是空间开销会大一些第二题设计链表类这个没什么好说的感觉有可能一些细节会忘记需要经常复习的一块第三题反转链表这题难度不大用一个tmp指针存储一下当前指针的next
- 2023-11-24SP9199题解
考察了小学奥数知识,不会的请先去学习一下相遇与追及。思路两个人相遇的点一定是有周期性的,我们可以先算出一个周期会走多远,而这个距离是两人速度的最小公倍数。接着需分情况讨论。如果两人是同向,则为追及,需用距离除以一人的速度减去距离除以另一人的速度。需要取绝对值。
- 2023-11-0407_环形链表
环形链表给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如
- 2023-11-03一. 相遇python
第一节课相遇PythonPython是一门强大的编程语言,让我们开始探索它吧。1.语言1.1自然语言自然语言是人与人之间交流的语言。比如:中文,英文,日文等1.2编程语言1.2.1机器语言机器语言是计算机能够直接理解和执行的语言。它通常以二进制代码的形式表示。示例
- 2023-11-03Insertion Sort
想象一下,冒泡排序交换的两个数一定是原数组的逆序对(反证容易证明:如果不是逆序对,相遇之后不会交换。两个数只有在相遇的时候才会使得下标相对大小互换,相遇之前一定是左的在左,右的在右。而不是逆序对的话,相遇的时候也不会交换,所以就一直不会交换)。因为有序数组一定没有逆序对,所以逆
- 2023-10-29相遇
时间限制:1s内存限制:256MB【问题描述】已知我国有n座城市,这些城市通过n-1条高铁相连。且任意两个城市联通。小A想从x1号城市出发,到y1号城市,小B想从x2号城市出发,到y2号城市,问他们是否可能在路途中相遇(出现在同一城市)你需要回答m次这样的问题。【输入】输
- 2023-10-19287. 寻找重复数
给定一个包含n+1个整数的数组nums,其数字都在[1,n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,返回这个重复的数。你设计的解决方案必须不修改数组nums且只用常量级O(1)的额外空间。示例1:输入:nums=[1,3,4,2,2]输出:2
- 2023-10-0520231004
23/10/04NOIP模拟赛总结时间安排7:40-8:00看题,感觉都没有思路,有点慌。8:20-9:00思考T1,先把暴力打了,打表找规律找了20分钟。9:00-9:30写T2暴力,感觉前两题都是DP,但不会设状态,原因在反思总结中有提到。9:30-10:20想到了T3的\(n^2\)做法,但是没想明白细节,弃疗。10:20-11:0
- 2023-09-28奥数知识点 — 追及问题
每日一课: 追及问题的要点及解题技巧1、多人相遇追及问题的概念及公式多人相遇追及问题,即在同一直线上,3个或3个以上的对象之间的相遇追及问题。所有行程问题都是围绕""这一条基本关系式展开的,比如我们遇到的两大典型行程题相遇问题和追及问题的本质也是这三个量之
- 2023-09-02快速排序
在从小往大排的前提下,如果以左边为基数的话必须在比左边小的地方让两个指针相遇,因为在相遇时必须将相遇时候的数和基数交换,将相遇的数放在基数的位置,也就是小于基数的区域。因此如果以左边为基数的话必须右指针先动,如果以右边为基数的话必须左指针先动。图解快速排序(C++实现)_快
- 2023-08-04我们有相遇的时间(time)
终于还是写到这个了。。。题意:一个平面直角坐标系上,给你六个点,分别是\((0,0),(0,1),(1,0),(1,1),(0,0.5),(1,0.5)\)。你随时可以做两种操作,第一种是选两个点的编号,在这两个点之间得到一条直线,这条直线的编号为上个直线编号加一,第二种选两条有交直线,并得到交点,交点编号为上个点