算法通关
文章平均质量分 56
fang4084
热情JAVA开发者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法通关----合并两个有序链表
思路:当list1、list2都不为空时,循环迭代list1、list2,如果list1<list2,则用list1值构造一个新的节点插入新链表中,再list 1= list.next;否则则用list2值构造一个新的节点插入新链表中,再list 2= lis2.next。最后将list1、list2中不为空的链表插入新链表中。新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。原创 2024-12-31 17:35:18 · 332 阅读 · 0 评论 -
算法通关----环形链表2
1、创建两个指针fast,slow,fast在前一次走两步,slow在后一次走一步,如果slow追上了fast,则成环,此时再创建一个新的指针p,从head出发,一次走一步,slow同时一次走一步,slow和p一定在环的入口相遇,返回p。slow一次走一次,fast一次走两步,相遇时slow走的路程为n,fast走的路程为2n。相遇后,p和slow同时一次走一步,相遇时必然在入环第一个节点(相当于slow走了fast距离)链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。原创 2024-12-31 16:51:09 · 341 阅读 · 0 评论 -
算法通关----环形链表
1、创建两个指针fast,slow,fast在前,slow在后,如果slow追上了fast,则成环。指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。仅仅是为了标识链表的实际情况。,判断链表中是否有环。给你一个链表的头节点。原创 2024-12-28 17:33:29 · 312 阅读 · 0 评论 -
算法通关----回文链表
1、创建一个数组,循环链表,将值放入数组中。2、创建头尾两个指针,比较彼此是否相等。【一】、将值复制到数组中后用双指针法。给你一个单链表的头节点。,请你判断该链表是否为。原创 2024-12-28 16:48:33 · 194 阅读 · 0 评论 -
算法通关----相交链表
换句话说,它们在内存中指向两个不同的位置,而链表 A 和链表 B 中值为 8 的节点 (A 中第三个节点,B 中第四个节点) 在内存中指向相同的位置。pA,pB先后走到尾部,再回到彼此的队头,再同时走到相交的位置:a + c + b (pA走的路径)= b + c + a (pB走的路径);假设headA的长度是m,headB的长度是n,相交后同共的长度是c,相交前headA的长度是a,headB的长度是b。从各自的表头开始算起,链表 A 为 [1,9,1,2,4],链表 B 为 [3,2,4]。原创 2024-12-26 16:50:49 · 737 阅读 · 0 评论 -
算法通关----矩阵置零
思路:用两个Set记录原始矩阵中0元素的行、列,再将对应的行、列所有元素置为0。,则将其所在行和列的所有元素都设为。的矩阵,如果一个元素为。【一】、使用标记数组。原创 2024-12-17 18:00:04 · 207 阅读 · 0 评论 -
算法通关----缺失的第一个正数
从1开始循环到最大值,如果不存在Set中,就是结果,否则返回最大值+1。循环列表构造当前数组Set,并记录当前最大值。,请你找出其中没有出现的最小的正整数。并且只使用常数级别额外空间的解决方案。范围 [1,2] 中的数字都在数组中。1 在数组中,但 2 没有。给你一个未排序的整数数组。最小的正数 1 没有出现。请你实现时间复杂度为。原创 2024-12-17 15:04:03 · 258 阅读 · 0 评论 -
算法通关----除自己自身以外数组乘积
准备两个数组L、R,L表示当前元素左边累积,R表示当前元素右边累积,再将L*R就是结果。之中任意元素的全部前缀元素和后缀的乘积都在。循环列表两次,去除当前元素,累积就可以。题目来源:leetcode--238。之外其余各元素的乘积。时间复杂度内完成此题。【二】、左右列表乘积。原创 2024-12-16 17:40:29 · 397 阅读 · 0 评论
分享