关注Java领域相关技术 记录有趣的事情

枚举

LeetCode-113. 路径总和 II

问题地址 LeetCode每日一题/2020-09-26 LeetCode113. 路径总和 II 问题描述 规则 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 注意 你可以假设树中没有重复的元素。 示例 示例一: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 返回: , ] 解析 解题思路 从根节点开始遍历每一条路径,当遍历到叶子节点且该路径节点之和等于sum则将其添加到结果集中; 数据操作分析 遍历整棵树 当节点为空,直接返回; …
US-B.Ralph
5 months ago

LeetCode-77. 组合

问题地址 LeetCode每日一题/2020-09-08 LeetCode77. 组合 问题描述 规则 给定两个整数 $n$ 和 $k$,返回 $1 ... n$ 中所有可能的 $k$ 个数的组合。 示例 示例一: 输入: n = 4, k = 2 输出: , , , , , , ] 解析 解题思路 使用递归思路来解题; 题目的结果可以理解为: 从n个里面先选1个; 从n-1个里面选出剩下的k-1个; 数据操作分析 复杂度分析 时间复杂度 空间复杂度 编码实现 public class LeetCode0077_Combinations { List<List<Integer>…
US-B.Ralph
5 months ago

LeetCode-491. 递增子序列

问题地址 LeetCode每日一题/2020-08-25 LeetCode491. 递增子序列 问题描述 规则 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例1 输入: 输出: , , , , , , , ] 说明 给定数组的长度不会超过15。 数组中的整数范围是 $$。 给定数组中可能包含重复数字,相等的数字应该被视为递增的一种情况。 解析 解题思路 因为今天外出开会,直接上官方解法。 复杂度分析 时间复杂度。 空间复杂度。 定位问题 数据操作分析 编码实现 官方解法 二进制枚举+哈希 思路: 我们可以采取最朴素的思路,即枚举出所有的子序列,然后判…
US-B.Ralph
6 months ago

LeetCode-459. 重复的子字符串

问题地址 LeetCode每日一题/2020-08-24 LeetCode459. 重复的子字符串 问题描述 规则 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 示例1 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。 示例2 输入: "aba" 输出: False 示例3 输入: "abcabcabcabc" 输出: True 解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。) 解析 解题思路 采用群举子串+条件约束,这里的约束…
US-B.Ralph
6 months ago