JimmyZhan实名上网
JimmyZhan实名上网
全部文章
分类
归档
标签
去牛客网
登录
/
注册
JimmyZhan实名上网的博客
全部文章
(共19篇)
BM57题解 | #岛屿数量#
dfs方法这是一道很经典的面试题我们要找连在一起的'1',所以我们遍历grid中的每一个元素如果遍历到的当前元素是'1'说明我们发现了新大陆,就让计数器count++,并将这个位置的'1'置为'0'(做一个标记)之后我们要把连在一起的'1'给排除了,因为这些'1'被认定为和当前遍历到的这个'1'是同...
2023-08-02
0
491
BM87题解 | #合并两个有序的数组#
双指针这题其实就是归并排序中的并部分,由于要在A[ ]上原地修改,所以使用一个临时数组temp[ ]来存放A数组中的元素,然后使用双指针比较,较小的元素放入A[ ]中即可 import java.util.*; public class Solution { public void merg...
2023-08-02
0
340
BM6题解 | #判断链表中是否有环#
快慢指针BM7的简单版,不需要复杂证明,也不需要求环的入口所以我们只需要定义一个fast指针和一个slow指针即可fast一次走两格,slow一次走一格,如果有环则一定会在环内相遇如果没有相遇,走到最后还剩两个节点的时候就不可能存在环了就可以跳出while循环,返回fale import java....
2023-08-02
0
373
BM7题解 | #链表中环的入口结点#
双指针解决环的入口思路来自代码随想录我们把整个路径分为三段:第一段:没有环的,x第二段:环的入口到相遇的地方,y第三段:相遇的地方到入口,z定义两个指针:fast指针:一次走两格slow指针:一次走一格两个指针都从head触发,最后一定会在环内相遇,因为fast每次都比slow多走一格再定义两个指针...
2023-08-02
0
323
BM3题解 | #链表中的节点每k个一组翻转#
非递归方法使用四个指针标记一条k链,把这条k链断开、翻转、最后再拼接回去头结点会变,因此使用一个虚拟头结点使用pre和right两个指针用于找到每个k链的起始位置(的前一个节点)和终止位置移动right节点到第k个节点处left是pre的后继节点,也是k链的第一个节点;cur是right的后继节点,...
2023-08-02
0
339
BM5题解 | #合并k个已排序的链表#
归并排序这里给的不是好几个headP,而是已经把所有的ListNode都合在一个ArrayList中了,底层的Object[ ]数组中存放了每一个ListNode的引用地址,这些ListNode中都有next指针因此,可以直接对这个ArrayList使用归并排序归并排序的具体步骤可以看看这位网友写的...
2023-08-02
0
324
BM4题解 | #合并两个排序的链表#
Java 双指针遇到这种不确定头节点的情况下,需要设置一个虚拟头结点dummyHead,返回的时候返回dummyHead.next节点即可。三个指针,pHead1, pHead2, p 分别对应链表1、链表2、合并链表while循环用两条链表都非空作为循环条件循环中每次让p指向小值的节点,小值链...
2023-08-01
0
320
BM13题解 | #判断一个链表是否为回文结构#
双指针+ArrayList遍历一遍把数值全都转存到一个ArrayList中,然后使用双指针进行回文串的判定即可 import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; *...
2023-07-31
0
260
星环科技2022秋招算法题1 | #序列找数#
解法一:双指针二分查找因为每次mid查到当前位置和index匹配就把left指针移动到mid+1,表示left之前的元素都合法当mid大于index的时候意味着在mid左边发生了跳位,导致跳位后的元素全都不合法,因此把right放在mid-1,表示right右边都是不合法的元素,要往左找到第一个非法...
2023-07-31
1
606
首页
上一页
1
2
下一页
末页