随笔分类 -  LeetCode

摘要:收集树上所有苹果的最少时间 题目 给你一棵有 n 个节点的无向树,节点编号为 0 到 n-1 ,它们中有一些节点有苹果。通过树上的一条边,需要花费 1 秒钟。你从 节点 0 出发,请你返回最少需要多少秒,可以收集到所有苹果,并回到节点 0 。 无向树的边由 edges 给出,其中 edges[i] 阅读全文
posted @ 2020-10-18 17:03 lemon-Xu 阅读(142) 评论(0) 推荐(0)
摘要:一和零 问题 在计算机界中,我们总是追求用有限的资源获取最大的收益。 现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。 你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。 阅读全文
posted @ 2020-09-16 20:21 lemon-Xu 阅读(206) 评论(0) 推荐(0)
摘要:摩尔投票法 主要用途 求众数 时间复杂度O(N), 空间复杂度O(1) 算法思想 每次从序列里选择两个不相同的数字删除掉(或称为“抵消”),最后剩下一个数字或几个相同的数字,就是出现次数大于总数一半的那个。 有趣的 核心就是对拼消耗。玩一个诸侯争霸的游戏,假设你方人口超过总人口一半以上,并且能保证每 阅读全文
posted @ 2020-09-14 22:35 lemon-Xu 阅读(125) 评论(0) 推荐(0)
摘要:二叉树的中序遍历 使用栈模拟递归 var inorderTraversal = function(root) { var stack = [] var res = [] while(root || stack.length){ while(root){ stack.push(root) root = 阅读全文
posted @ 2020-09-14 22:31 lemon-Xu 阅读(471) 评论(0) 推荐(0)
摘要:从中序与前(后)序列构造二叉树 遍历顺序 前序 先遍历根节点 随后递归遍历左子树 随后递归遍历右子树 特点: 第一个节点一定为树的根节点 中序 先递归遍历左子树 随后遍历根节点 最后递归遍历右子树 特点: 根节点左边为左子树 根节点右边为右子树 后序 先递归遍历左子树 随后递归遍历右子树 最后遍历根 阅读全文
posted @ 2020-09-13 15:21 lemon-Xu 阅读(140) 评论(0) 推荐(0)