
leetcode
GaryCV
一个专注于python/机器学习/计算机视觉的爱好者。
展开
-
Leetcode 637.二叉树的层平均值
Leetcode 637.二叉树的层平均值 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例1: 题目解释 从题意来看,这个就是二叉树层次遍历的变种题,所以如果掌握了二叉树的层次遍历,这个问题就迎刃而解。方法解答 教科书般的解答,层次遍历,最先想到的肯定是队列。忘记了的同学赶紧捡起书本好好的复习一下。 代码:...原创 2018-08-10 13:56:34 · 547 阅读 · 0 评论 -
Leetcode | 235. 二叉搜索树的最近公共祖先
Leetcode | 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,...原创 2018-09-14 18:05:44 · 431 阅读 · 0 评论 -
Leetcode | 404. 左叶子之和
Leetcode | 404. 左叶子之和 计算给定二叉树的所有左叶子之和。题目解答只需使用深度优先遍历,找到全部左叶子即可。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *r...原创 2018-09-14 11:19:49 · 288 阅读 · 0 评论 -
Leetcode 653. | 两数之和 IV - 输入 BST
Leetcode 653. 两数之和 IV - 输入 BST 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。题目解释即从平衡二叉树中寻找两个数的和,如果等于target,则返回true,不存在则返回false。题目解答由BST的性质,BST的中序遍历得到的结果就是一个从小到大已经排好序的结果。因此只要...原创 2018-09-14 10:40:35 · 541 阅读 · 0 评论 -
Leetcode | 598. 范围求和 II
Leetcode | 598. 范围求和 II 给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。 在执行给定的一系列操作后,你...原创 2018-08-23 12:47:22 · 449 阅读 · 0 评论 -
Leetcode | 437. 路径总和 III
Leetcode | 437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 示例 题目解释由题意可...原创 2018-08-20 12:50:12 · 380 阅读 · 0 评论 -
Leetcode | 171. Excel表列序号
Leetcode | 171. Excel表列序号 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 例如 A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 A...原创 2018-08-26 14:35:16 · 322 阅读 · 0 评论 -
Leetcode | 453. 最小移动次数使数组元素相等
Leetcode | 453. 最小移动次数使数组元素相等 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1 示例 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] ...原创 2018-08-26 14:30:08 · 895 阅读 · 0 评论 -
Leercode | 844. 比较含退格的字符串
Leetcode 844. 比较含退格的字符串 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。 示例1 输入:S = “ab#c”, T = “ad#c” 输出:true 解释:S 和 T 都会变成 “ac”。示例2 输入:S = “ab##”, T = “c#d#” 输出:true ...原创 2018-08-16 11:35:36 · 319 阅读 · 0 评论 -
Leetcode | 690. 员工的重要性
Leetcode 690. 员工的重要性 给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id。 比如,员工1是员工2的领导,员工2是员工3的领导。他们相应的重要度为15, 10, 5。那么员工1的数据结构是[1, 15, [2]],员工2的数据结构是[2, 10, [3]],员工3的数据结构是[3, 5, []]。注意虽然员工3也是员工1的一个下属,但...原创 2018-08-18 10:58:40 · 552 阅读 · 0 评论 -
Leetcode 108. 将有序数组转换为二叉搜索树
Leetcode 108. 将有序数组转换为二叉搜索树 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例 题目解释:如题所示,将数组转换位平衡二叉树,何为平衡二叉树?即左右子树高度值最大相差1.解答方法1. 由于要保存高度平衡,即树根的左右...原创 2018-08-13 11:36:16 · 618 阅读 · 1 评论 -
leetcode | 455. 分发饼干
leetcode | 455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这...原创 2018-08-15 11:26:46 · 842 阅读 · 0 评论 -
Leetcode 590. N叉树的后序遍历
Leetcode 590. N叉树的后序遍历 给定一个N叉树,返回其节点值的后序遍历。 例如,给定一个 3叉树 : 返回其后序遍历:[5,6,3,2,4,1]. 说明: 递归法很简单,你可以使用迭代法完成此题吗?题目解释 在之前的一些文章中,我曾提过二叉搜索树的后序遍历:左->右->根。现在为N叉树,意思也是一样的,即先从最左边的孩子一直...原创 2018-08-12 11:37:37 · 1766 阅读 · 0 评论 -
Leetcode 575. 分糖果
Leetcode 575. 分糖果 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。 示例1 输入: candies = [1,1,2,2,3,3] 输出: 3 解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1...原创 2018-08-11 11:27:07 · 637 阅读 · 0 评论 -
Leetcode 257. 二叉树的所有路径
Leetcode 257. 二叉树的所有路径 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例 题目解答从题意来看,就是从二叉树的根节点开始,找出随意往不同方向一路到达不同叶子节点的所有路径。解题方法可想而知,这种类型的题目,个人觉得深度优先搜索(Depth-First-Search)是最适合的了。忘记...原创 2018-08-11 11:10:05 · 987 阅读 · 0 评论 -
LeetCode | 669.修剪二叉搜索树
LeetCode | 669.修剪二叉搜索树给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。解答首先要知道二叉搜索树的性质:根的值是大于左结点的值,小于右结点的值。利用以上性质,可做以下的递归思想:如果当前节点的值是小于L...原创 2018-09-20 09:29:37 · 408 阅读 · 0 评论