关注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
a year ago

LeetCode-47. 全排列 II

问题地址 LeetCode每日一题/2020-09-18 LeetCode47. 全排列 II 问题描述 规则 给定一个可包含重复数字的序列,返回所有不重复的全排列。 示例 示例1 输入: 输出: , , ] 解析 解题思路 根据题目规则本题有两点约束: 数字不可以被重复选择; 找到的排列不能重复,由于本题所给的输入中包含重复数字,故$$与$$属重复排列; 数据操作分析 本题对排列组合结果的顺序没有要求,我们为了后边去重更方便首先对给定数组排序,对于排序后的数组进行全排列时,使用如下规则对重复排列去重: $nums = $; $visited = true$; 对于第一条约束我们需要判断 $v…
US-B.Ralph
a year ago