LeetCode 52. N皇后 II https://leetcode-cn.com/problems/n-queens-ii/ 难度:困难 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。 给定一个整数 n,返回 n 皇后不同的解决方案的数量。 示例: 输入: 4 输出: 2 解释: 4 皇后问题存在如下两个不同的解法。 [ [&qu 2020-10-17 算法题 解答 LeetCode LeetCode 回溯
LeetCode 51. N皇后 https://leetcode-cn.com/problems/n-queens/ 难度:困难 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 图为 8 皇后问题的一种解法。 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。 每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表 2020-10-17 算法题 解答 LeetCode LeetCode 回溯
LeetCode 116. 填充每个节点的下一个右侧节点指针 https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/ 难度:中等 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *n 2020-10-15 算法题 解答 LeetCode LeetCode 二叉树
计算机中的浮点数表示 IEEE 754 标准 在这个标准中,任意一个二进制浮点数 V 可以表示成下面这样的形式: 1. (-1)^s 表示符号位,当 s = 0 时, V 为正, s = 1 时,V 为负 2. M 表示有效数字,1 <= M < 2 3. E 表示指数,如 2^E 举个例子,对于十进制的 5.0,写成二进制就是 101.0,相当于 1.01 x 2^2。 按照上面 2020-10-05 计算机基础 浮点数
LeetCode 406. 根据身高重建队列 https://leetcode-cn.com/problems/queue-reconstruction-by-height/ 难度:中等 假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。 注意: 总人数少于1100人。 示例 输入: [[7,0], [4,4], 2020-10-04 算法题 解答 LeetCode LeetCode
LeetCode 145. 二叉树的后序遍历 给定一个二叉树,返回它的 后序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解法1:借助栈进行后序非递归遍历 后序非递归遍历的关键点在于判断遍历过程中什么时候该往右走,什么时候该访问节点内容。 我们使用一个栈来保存遍历路径上的节点,步骤如下: 一直往左孩子遍历,遍历过程中保 2020-09-30 算法题 解答 LeetCode LeetCode 后序遍历 morris
后序非递归遍历 对树进行后序非递归遍历一般会借助栈来保存路径上的节点。 后序非递归遍历的一个特点就是:当访问到一个节点时,栈中所保存的节点正好是这个节点的所有祖先节点,因此后续非递归遍历可用来解决以下问题: 当给定一个节点时,输出该节点的所有祖先 输出根结点到叶子节点的所有路径 求每条路径上的节点值之和 后序非递归遍历的关键点在于判断遍历过程中什么时候该往右走,什么时候该访问节点内容。 我们使 2020-09-30 算法题 算法知识 后序非递归遍历
LeetCode 501. 二叉搜索树中的众数 https://leetcode-cn.com/problems/find-mode-in-binary-search-tree/ 难度:简单 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当前结点的值 左子树和右子树都是二叉搜索 2020-09-24 算法题 解答 LeetCode 中序遍历 LeetCode 二叉搜索树
Morris算法 Morris 算法介绍 Morris 算法是一种巧妙的方法可以在线性时间内,只占用常数空间来实现树的遍历。这种方法由 J. H. Morris 在 1979 年的论文「Traversing Binary Trees Simply and Cheaply」中首次提出,因此被称为 Morris 遍历。 Morris 算法一般用在解决中序遍历的问题,不过稍微修改一下,它也能用在前序遍历和后序遍 2020-09-24 算法题 算法知识 中序遍历 Morris
LeetCode 968.监控二叉树 https://leetcode-cn.com/problems/binary-tree-cameras/ 难度:困难 给定一个二叉树,我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 示例 1: 输入:[0,0,null,0,0] 输出:1 解释:如图所示,一台摄像头足以监控所有节点 2020-09-23 算法题 解答 LeetCode 二叉树