随笔分类 -  LeetCode

1 2 3 4 5 ··· 12 下一页
摘要:一、题目 1、审题 2、分析 求一棵二叉树中两个节点相连的路径中的最多的边数。 二、解答 1、思路 等价于求一个节点作为根节点时,Max (左孩子的深度 + 右孩子深度). ① 、采用全局变量 max 记录 Max(左孩子深度 + 右孩子深度) ②、新建一个 getMaxDepth(root) 方法 阅读全文
posted @ 2019-07-18 17:42 skillking2 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 一个整形数组!元素值为 1~size; 出现的元素次数为 1~2 次。 求出所有 1~size 中没有出现的整数! 二、解答 1、思路 由于元素值都为 1~size之间。所以可以将数组下标 index 进行联系。 ① 遍历数组,将出现的元素值对应的数组下标的元素都标记为 阅读全文
posted @ 2019-07-17 12:09 skillking2 阅读(150) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 求出所有s子串的下标,从该下标开始的连续子字符串包含 p 中的所有字符(可以无序); 以 List方式返回所有下标; 二、解答 1、思路 以滑动窗口的方式统计所有符合的子串! 阅读全文
posted @ 2019-07-16 20:28 skillking2 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 一个非空整形数组,返回数组中出现次数最多的 k 个数。 其中 1 <= k <= 不同的数值个数。 二、解答 1、思路 方法一、 ① 新建一个 List<Integer, Integer>[] : 其中数组下标表示频率(count); List 为数字; ② 新建一个 阅读全文
posted @ 2019-07-15 13:22 skillking2 阅读(163) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 求所有的单条路径中符合和为 sum 的路径条数。结尾节点不需要为叶子节点。 二、解答 1、思路 方法一、 采用递归的方法。 首先求从 根节点开始的路径满足和为 sum 的条数; 其次求从 根的左孩子节点开始的路径满足和为 sum 的条数; 最终求从 根的右孩子节点开始的 阅读全文
posted @ 2019-07-15 12:56 skillking2 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出数字 num, 求出 0~num 的每个数字的二进制形式中包含的 字符 ‘1‘ 的个数。 二、解答 1、思路 方法一、 依次计算 1~n 每个数字的二进制形式中包含的 ‘1‘ 的个数。 方法二、 采用 f[n] = f[n >> 1] + (n & 1) 计算数字 阅读全文
posted @ 2019-07-01 11:12 skillking2 阅读(123) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一棵二叉树,取二叉树中的节点值,其中不能获取相邻层的二叉树节点。 二、解答 1、思路 方法一、 分两种情况, 情况一: root.val + root.left.left.val + root.left.right.val + root.right.left.val 阅读全文
posted @ 2019-06-30 16:21 skillking2 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个正整数数组。为每个元素添加 + 、- 符号,然后将元素相加,求共有多少种组合使得和为 S; 二、解答 方法一、 ① 将此问题转化为取数组中若干元素,使得元素和为某一定值的问题: 假设正数集合为 P, 负数集合为 N;则有: sum[P] - sum[N] = S 阅读全文
posted @ 2019-05-30 21:18 skillking2 阅读(135) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整形数组,判断是否能将其拆分成两个元素和相等的子数组。 二、解答 1、思路 ① 将数组所有元素求和得到 sum, 若 sum %2 == 1 ,则不可切分。 ② 将 sum 除以 2,即 sum /= 2; 则 问题变为:从 数组中取出若干个元素,使得其和为 s 阅读全文
posted @ 2019-05-30 12:03 skillking2 阅读(145) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一棵二叉搜索树。将所有节点值加上比他大的所有节点值。 二、解答 思路: 采用类似中序(左-->根-->右)遍历的方式。实际采用 (右--> 根 --> 左)。遍历时,统计所有遍历的节点之和。 方法一、 采用一个 Stack 进行二叉树遍历。同时更新节点值。 方法二、 阅读全文
posted @ 2019-05-29 10:20 skillking2 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一棵二叉树,求该二叉树中两个节点最远的距离。 二、解答 ① 采用全局变量 max 记录两个节点之间最远的距离 ② 分别计算 root.left 的深度,与 root.right 的深度。 最远距离即为 Max(left + right, max) 阅读全文
posted @ 2019-05-28 21:55 skillking2 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给定一个整形数组。若存在连续的序列相加和为 k ,统计这样的序列的个数。 二、解答 方法一、 时间复杂度: O(N^2),空间复杂度:O(1) ① 将所给数组 nums,连续元素相加。 nums[i] 代表下标 i 及i之前的元素之和。 ② 采用 count 记录满足的 阅读全文
posted @ 2019-05-28 11:57 skillking2 阅读(116) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给定一个无序整形数组,将其变为有序,最少要将连续的多少个元素进行排序。 二、解答 1、思路 ① 采用两个指针。 begin 记录需要排序的元素的最低下标; end 记录需要排序的元素的最高下标。 ② 顺序遍历数组, 采用变量 max,记录到当前元素为止的最大元素值,若当 阅读全文
posted @ 2019-05-28 11:00 skillking2 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 将两个二叉树合并为一棵(对应的节点值相加)。 二、解答 方法一、 将 t1 作为目标二叉树, ① 若 t1 与 t2 均不为空, 则 t1 值为 t1 与 t2 值之和。递归计算 t1 左右孩子 ② 若 t1 为空,则返回 t2 ③ 若 t2 为空,则返回 t1 方法二 阅读全文
posted @ 2019-05-27 20:55 skillking2 阅读(101) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 输入为任务数组,且相同的任务只有在距离 n 之后才能,才能再做。求最少处理时间。 二、解答 ① 首先统计出数组中,出现字符最多的次数 max, 出现次数最多的字符有几种 maxCount; ② 将出现次数最多的字符作为批次的划分,共有 max - 1 批空槽等待填写任务 阅读全文
posted @ 2019-05-27 15:48 skillking2 阅读(209) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个字符串。求其切割的子串中,有多少个回文子串。 二、解答 ① 从第一个字符依次向前遍历。 ② 分为奇数和偶数个字符进行回文判断的情况。 若为奇数个字符,采用指针left、right 指向当前字符。且left 向左移动同时 right 向右移动。每一栋一步进行判断。 阅读全文
posted @ 2019-05-27 11:52 skillking2 阅读(103) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个记录温度的数组。输出当前温度距离下一次升温的下标距离。 二、解答 方法一、 采用一个 dp 数组,从后往前填值。(i < j) 若 dp[i] < dp[j], 则 dp[i] = j - i; 若 dp[i[ >= dp[j] 则 j = j + dp[j] 阅读全文
posted @ 2019-05-27 10:26 skillking2 阅读(113) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个二维数组,给出两个坐标。求这两个坐标之间的所有元素的和。 二、解答 1、思路 ①、 新建一个数组 sums[rows + 1][cols + 1],其中元素 sums[i+1][j+1] 用于储存 matrix 中从 [0, 0] 到 [i][j] 之间的元素和 阅读全文
posted @ 2018-11-29 22:05 skillking2 阅读(134) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整形数组,返回从下标 i 到 j 的元素之和。 二、解答 1、思路 ①、新建一个数组,如下标 i : 存储下标 0 ~ i 的元素之和。 ②、最终返回 nums[j] - nums[i]; 阅读全文
posted @ 2018-11-28 16:49 skillking2 阅读(111) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个包含 '('、')' 的字符串,去除最少的字符,使得左右括号能正确闭合。求出所有的正确闭合的字符串。 二、解答 1、思路 https://leetcode.com/problems/remove-invalid-parentheses/discuss/75027 阅读全文
posted @ 2018-11-28 16:36 skillking2 阅读(262) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 12 下一页