fFee-ops's Blog
279. 完全平方数(BFS) 279. 完全平方数(BFS)
279. 完全平方数 题目 解题思路 代码 题目给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 解题思路这题有两种解法,①BFS ②动态规划 1
2020-12-03
111. 二叉树的最小深度(BFS) 111. 二叉树的最小深度(BFS)
111. 二叉树的最小深度 题目 解题思路 代码 题目给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。提示: 树中节点数的范围在 [0, 105] 内
2020-12-02
BFS解题模板 BFS解题模板
文字版 void BFS() { 定义队列; 定义备忘录,用于记录已经访问的位置; 判断边界条件,是否能直接返回结果的。 将起始位置加入到队列中,同时更
2020-12-02
1091. 二进制矩阵中的最短路径(BFS) 1091. 二进制矩阵中的最短路径(BFS)
1091. 二进制矩阵中的最短路径 题目 解题思路 代码 题目在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1)。 一条从左上角到右下角、长度为 k 的畅通路径,由满足下述条件的单元格 C_1, C_2,
2020-12-02
95. 不同的二叉搜索树 II(分治) 95. 不同的二叉搜索树 II(分治)
95. 不同的二叉搜索树 II 题目 解题思路 代码 题目给定一个整数 n,生成所有由 1 … n 为节点所组成的 二叉搜索树 。提示:0 <= n <= 8 解题思路这题是96题的进化版,这次的主要思路是递归。主要是:生
2020-12-01
96. 不同的二叉搜索树(动态规划) 96. 不同的二叉搜索树(动态规划)
96. 不同的二叉搜索树 题目 解题思路 代码 题目给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种? 解题思路当遇到一个题目是让你求最值的时候你就可以考虑用动态规划的方式来做。这种解题模板:①搞个简单点的例子,用枚
2020-11-30
241. 为运算表达式设计优先级(分治) 241. 为运算表达式设计优先级(分治)
241. 为运算表达式设计优先级 题目 解题思路 代码 题目给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。 解题思路看
2020-11-29
34. 在排序数组中查找元素的第一个和最后一个位置(二分查找) 34. 在排序数组中查找元素的第一个和最后一个位置(二分查找)
34. 在排序数组中查找元素的第一个和最后一个位置 题目 解题思路 代码 题目给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是O(log n)
2020-11-27
153. 寻找旋转排序数组中的最小值(二分查找) 153. 寻找旋转排序数组中的最小值(二分查找)
153. 寻找旋转排序数组中的最小值 题目 解题思路 代码 题目假设按照升序排序的数组在预先未知的某个点上进行了旋转。例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] 。 请找出其中最小的元素。 提
2020-11-25
278. 第一个错误的版本(二分查找) 278. 第一个错误的版本(二分查找)
278. 第一个错误的版本 题目 解题思路 代码 题目你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有
2020-11-24
540. 有序数组中的单一元素(二分查找) 540. 有序数组中的单一元素(二分查找)
540. 有序数组中的单一元素 题目 解题思路 代码 题目给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 注意: 您的方案应该在 O(log n)时间复杂度和 O(1)空间复杂度中运行。 解
2020-11-23
744.寻找比目标字母大的最小字母(二分查找) 744.寻找比目标字母大的最小字母(二分查找)
寻找比目标字母大的最小字母 题目 解题思路 代码 题目给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。 在比较时,字母是依序循环出
2020-11-09
19 / 21