WBY's Blog 我们的征途是星辰大海
  • 关于
  • 归档
  • 友链
  • 随机
  • 值得一看
  • 切换模式
  • 返回顶部
  • 博客首页
  • 个人主页
  • 说说
  • WBY's Blog 我们的征途是星辰大海
  • 博客首页
  • 个人主页
  • 说说
  • 关于
  • 归档
  • 友链
  • 随机
  • 值得一看

142. 环形链表 II

题目链接:https://leetcode.cn/problems/linked-list-cycle-ii/description/我的思路第一次遇到这种题,有点被吓到了,不知道什么是链表,被题目里的定义和复杂的描述给唬住了,一直在纠结给出代码中的ListNode类的定义是什么,读懂题意花了很长时间,没有自己的解答思路纠正理解题意:给的链表其实就是有序的列表,然后这道题里在有序的列表基础上形成了环,那么这种结构就会涉及到几个新的元素:链表起点(叫做头,head)、环的起点(题目里pos给出了环起点的索引),自己一开始感到奇怪,明明给了链表的环起点pos,为什么还要判断是否有环以及求环的起点索引?因为题目里很明确地说了,pos变量不会作为参数进行传递,是评测系统内部的一个参数,表示链表尾链接到链表中的位置,只是为了标识链表的实际情况,因此这只是一个让我们知道这个链表有没有环结构的一个标志,对我们的实际问题求解不会有什么影响和帮助,那么我们要怎么判断这个链表是否存在环呢?题目里也很明确地告诉我们了,只要链表中后续还有节点,就可以一直使用.next指针到达,同时如果这个过程能够一直循环下去

双指针 · 04-06
Bangyao Wang

88. 合并两个有序数组

我的思路直接尝试赋新值给nums1=nums1[:m]+nums2,但在Leetcode的运行环境中,这样的办法行不通,只是重新绑定了一个新的列表对象,原先的nums1并没有被改变,在测试的时候后台会检查原先的nums1是否有被修改,因此这种办法是行不通的,需要在原数组上一个个修改数值才行纠正还是需要用双指针的思路,判断值,然后把值填进表中初始化三个指针,分别定位在nums1(短)、nums2和nums1(长)的最后一个元素,对应的索引值分别为m-1, n-1, m+n-1,接下来依次开始判断nums1(短)和nums2的元素大小,把更大的那个放到nums1(长)的后面,这也是为什么要有第三个指针的原因,因为我们需要修改的是原始nums1例子:nums1 = [1,2,3,0,0,0,0], m = 3, nums2 = [2,4,5,7], n = 4思路:初始化三个指针的值分别为p = 2, q = 3, pos = 6,从左右边开始:判断nums1[2]和nums2[3]的大小,7>3,所以把7放到nums1[6],此时已经将nums2[3]的这个元素用掉了,所以要把num

双指针 · 04-03
Bangyao Wang
  • ‹
  • 1
  • 2
  • 3
Bangyao Wang

Bangyao Wang

不啻微芒,造炬成阳

  • THU SIGSer
部分文章
  • Markdown语法
  • CMC备赛|4.12一元函数微分学(一)
  • HTTP协议
  • 正则表达式
  • Django | 设计模式与模板层
  • Django | URL反向解析
  • CMC备赛 | 4.16一元函数微分学(二)
文章分类
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
  • Active Learning
  • General Learning
  • Informatics
  • Chinese Mathematics Competitions
  • Data communication networks
  • English for academic writing and communication
  • Programming
  • Django
  • JS
  • Leetcode
  • 双指针
  • 二分法
  • 排序
  • 搜索
  • Science research
  • Bioinformatics
  • 无线光通信
  • 硅光集成
  • 科研工具
  • 科研经验
  • 碎碎念
  • 说说
  • 默认分类
About website
  • 2021 - 2025
  • WBY's Blog. All Rights Reserved.
  • Theme Jasmine by Kent Liao
  • 赣ICP备2021000795号-1
  • 赣公网安备36070202000920