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

浙公网安备 33010602011771号