Loading

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页
摘要: 题目 144. 二叉树的前序遍历 思路1(递归) 前序先遍历根节点,然后左孩子,然后右孩子 使用递归解题 代码 class Solution { List<Integer> res = new LinkedList<>(); public List<Integer> preorderTraversa 阅读全文
posted @ 2020-12-07 00:18 linzeliang 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 题目 37. 解数独 思路(回溯+递归) 用三个数组分别记录行、列、块是否已填入数字 在用一个ArrayList数组来存储数组行、列下标 从ArrayList的第一个元素开始尝试,如果符合条件,进入下一个数字的填写,如果不符合条件,那么就回溯,直到如果填道ArrayList的最后一个元素,那么就说明 阅读全文
posted @ 2020-12-04 23:37 linzeliang 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 题目 239. 滑动窗口最大值 思路1(暴力) 每次移动窗口都要重新遍历窗口的值来找到最大值 但是超时了,所以不合题意,题目要求线性时间 代码 class Solution { public int[] maxSlidingWindow(int[] nums, int k) { int len = 阅读全文
posted @ 2020-11-30 23:47 linzeliang 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目 1052. 爱生气的书店老板 思路1(滑动窗口1) 先求出老板不生气时候的顾客总数 然后遍历一次customer,i < X就是刚开始取前 X 个大小的窗口先计算,然后接下来每次移动一个单位 每次窗口的计算可以基于上一个窗口的结果来计算 窗口右移,左边窗口出去一个元素,右边窗口进入一个元素 对 阅读全文
posted @ 2020-11-30 15:36 linzeliang 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目 876. 链表的中间结点 思路 利用快慢指针 慢指针一步走一个,快指针一步走两个 当快指针到达终点时候,slow刚好在中间 代码 class Solution { public ListNode middleNode(ListNode head) { ListNode slow = head; 阅读全文
posted @ 2020-11-29 01:14 linzeliang 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题目 26. 删除排序数组中的重复项 思路 使用快慢指针 初始化:将慢指针slow指向数组索引为 0 的位置,然后快指针fast指向索引为 1 的位置 例如:0 0 1 1 1 2 2 3 3 4: 此时:0 0 1 1 1 2 2 3 3 4,我们比较 slow 和 fast 的大小,0和0相等, 阅读全文
posted @ 2020-11-29 01:01 linzeliang 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题目 74. 搜索二维矩阵 思路1(暴力) 遍历二维数组的所有的元素,看看是否存在target 代码 class Solution { public boolean searchMatrix(int[][] matrix, int target) { for (int i = 0; i < matr 阅读全文
posted @ 2020-11-28 23:25 linzeliang 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目 35. 搜索插入位置 思路 类似在1-100中猜数字,用二分法最多只要猜7次就可以得到答案 这题也可以利用二分法不断向target逼近 我们可以将 target 存在 和 不存在 两种结果整合在一个判断中,即target <= nums[mid] 代码 class Solution { pub 阅读全文
posted @ 2020-11-26 15:02 linzeliang 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 题目 30. 串联所有单词的子串 思路1(滑动窗口+哈希表) 使用HashMap,这样子就可以不用纠结字符串的顺序了 先计算words中的每个单词出现的个数 每次确定starts位置,然后依次截取wordLen长度的字串,比较是否再words中,不存在的话,直接break,进入下一个窗口;存在的话, 阅读全文
posted @ 2020-11-26 01:03 linzeliang 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题目 3. 无重复字符的最长子串 思路(滑动窗口+哈希集合) 使用滑动窗口来解决 首先遍历一遍字符串 使用哈希集合,先判断下一个字符是否存在,如果不存在的话就往set中添加字符,继续判断下一个;如果存在的话,就停止添加,然后向右移动一个窗口 每次窗口向右移动时,窗口中最左边的元素必然会出去,所以需要 阅读全文
posted @ 2020-11-24 23:21 linzeliang 阅读(79) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页