摘要:在刷Leetcode的过程中,发现一个问题。如果按照题号来刷会遇到使用同一种算法的不同题目,如果不详细讲解就梳理的不够清晰,但是如果每次遇到相同类型讲解就太冗余。 于是萌生了按照专题讲解知识点的想法,找到了以下这本书。 本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技
阅读全文
摘要:以Leetcode题目 200. 岛屿数量 为例 展示BFS代码 题目如下 https://leetcode-cn.com/problems/number-of-islands/ 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只
阅读全文
摘要:假设有以下需求 需求如下: 使用二进制表示某个游戏类型 游戏A(麻将) 0x00000001 (二进制的0001) 游戏B(扑克) 0x00000002 (二进制的0010) 癞子 0x00000004 (二进制的0100) 三人类型 0x00000008 (二进制的1000) 四人类型 0x000
阅读全文
摘要:地址 https://leetcode-cn.com/problems/candy/ 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 评分更高的孩子必须比他两侧的邻位
阅读全文
摘要:地址 https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii/ 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意:你不能同
阅读全文
摘要:地址 https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交
阅读全文
摘要:地址 https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个
阅读全文
摘要:地址 https://leetcode-cn.com/problems/triangle/ 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。
阅读全文
摘要:地址 https://leetcode-cn.com/problems/pascals-triangle/ 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1
阅读全文
摘要:地址 https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/ 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。 同一个节点在一条路径序列中 至多出现一次 。 该路径 至少包含一个 节点,且不一定经过
阅读全文
摘要:地址 https://leetcode-cn.com/problems/distinct-subsequences/ 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串
阅读全文
摘要:地址 https://leetcode-cn.com/problems/maximum-ice-cream-bars/ 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑。 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格。
阅读全文
摘要:地址 http://ybt.ssoier.cn:8088/problem_show.php?pid=1454 BFS #include <iostream> #include <queue> using namespace std; /* 给定一个 n×n 的网格状地图,每个方格 (i,j)有一个高
阅读全文
摘要:地址 https://leetcode-cn.com/problems/word-ladder-ii/ 题目描述 按字典 wordList 完成从单词 beginWord 到单词 endWord 转化, 一个表示此过程的 转换序列 是形式上像 beginWord -> s1 -> s2 -> ...
阅读全文
摘要:地址 http://ybt.ssoier.cn:8088/problem_show.php?pid=1287 一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。 他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。 商人必须在(2N-1)个单位时间穿越出去。
阅读全文
摘要:地址 https://www.luogu.com.cn/problem/P1004 NOIP 2000 提高组第四题 设有 N×N 的方格图 (N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字 00。如下图所示(见样例): A 0 0 0 0 0 0 0 0 0 0 13 0 0
阅读全文
摘要:地址 https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 pr
阅读全文
摘要:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/ 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inor
阅读全文
摘要:地址 https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/ 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,
阅读全文
摘要:地址 https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/ 给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [
阅读全文