刷题
。
linewon
这个作者很懒,什么都没留下…
展开
-
牛客网 迷宫问题 DFS 递归 两种方式
牛客网-迷宫问题主要思路1. 像3个方向递归2. 不能数组越界3. 不能是墙4. 在当前递归分支下,没有走过。跟算24点一样,还是通过两种方式控制递归退出:1. 通过全局变量2. 通过函数返回值。这里通过函数返回值,直接用静态函数就行了,并且不会有并发冲突。公共类Coordinpackage cn.line.nowcoder.huawei.hj43;/** * 用于保存路径 * 也可以直接用int[2]来实现 */public class Coord原创 2022-04-05 23:43:39 · 569 阅读 · 0 评论 -
牛客网 24点 DFS 递归 两种方式
题目连接:牛客网-算24点自己些的递归,是通过全局控制变量,来控制递归结束的。后来看了网友的代码,还有通过返回值来控制递归结束的。在这里记录一下。下面的代码里,函数dfs是通过全局变量found来控制递归退出的。函数dfs2是通过返回值来控制递归退出的。package cn.line.nowcoder.huawei.hj67;import java.util.Scanner;public class Main { public static void ma原创 2022-04-04 14:02:21 · 630 阅读 · 0 评论 -
记直接插入排序,为什么必须从后往前遍历
从前往后遍历找到插入位置@Slf4jpublic class InsertSort { @Test public void test() { int[] arr = new int[]{5, 3, 7, 6, 4, 1, 0, 2, 9, 8}; log.info("init: {}", Arrays.toString(arr)); insertSort(arr); log.info("result: {}", Arr原创 2022-03-21 20:31:23 · 1080 阅读 · 0 评论 -
LeetCode 链表 双指针 234
题目本身比较简单,主要是快慢指针的思路值得记一下,后续可能还会有其他应用。 public boolean isPalindrome(ListNode head) { if (head.next == null) return true; ListNode fast = head; ListNode slow = head; ListNode preSlow = null, nextSlow;原创 2022-03-18 22:16:53 · 651 阅读 · 0 评论 -
LeetCode 链表 双指针 206 92 25
206:简单的pre + cur的双指针public ListNode reverseList(ListNode head) { if (head == null || head.next == null) return head; ListNode pre = null; ListNode cur = head; ListNode tmp; while (cur.next != null) { tmp = cur.next原创 2022-03-17 23:38:06 · 604 阅读 · 0 评论 -
LeetCode 19 61 链表 双指针
题目-19题目-6119: public ListNode removeNthFromEnd(ListNode head, int n) { ListNode ret = new ListNode(0, head); ListNode pre = ret; ListNode rear = pre; while (n-- >= 0) { // n-- > 0 rear = rear.ne原创 2022-03-17 00:23:04 · 855 阅读 · 0 评论 -
LeetCode105,根据前序、中序遍历结果,构建二叉树。思路与Java解答
LeetCode105关键思路:1. 前序遍历序列的第一个数,即为根。2. 前序遍历的整个序列可以分为3个连续部分:根,左子树,右子树。3. 中序遍历的整个序列可以分为3个连续部分:左子树,根,右子树。有了上面3个思路,开始模拟一下程序:1. 根据preorder序列,找到root2. 根据root,在inorder中确定左右子树3. 根据inorder中左右子树的...原创 2019-02-17 21:53:06 · 512 阅读 · 0 评论 -
LeetCode80 26,有序数组中,每个数只能重复出现K次。思路与Java解答
LeetCode80LeetCode26给一个有序整数数组,数组中的每个元素,最多只能重复出现K次。80题中,K=2;26题中,K=1。先贴代码:public class Solution80 { private static final int K = 2; /** * @param nums it's sorted! */ public int remove...原创 2019-02-02 23:16:20 · 603 阅读 · 0 评论