![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
暮雨凉初透
这个作者很懒,什么都没留下…
展开
-
【LeetCode】529. 扫雷游戏 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/minesweeper/题目描述:让我们一起来玩扫雷游戏!给定一个代表游戏板的二维字符矩阵。'M'代表一个未挖出的地雷,'E'代表一个未挖出的空方块,'B'代表没有相邻(上,下,左,右,和所有4个对角线)地雷的已挖出的空白方块,数字('1' 到 '8')表示有多少地雷与这块已挖出的方块相邻,'X'则表...原创 2020-01-19 18:29:20 · 534 阅读 · 0 评论 -
【LeetCode】528. 按权重随机选择 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/random-pick-with-weight/submissions/题目描述:给定一个正整数数组w ,其中w[i]代表位置i的权重,请写一个函数pickIndex,它可以随机地获取位置i,选取位置i的概率与w[i]成正比。说明:1 <= w.length <= 100...原创 2020-01-15 16:29:27 · 446 阅读 · 0 评论 -
【LeetCode】526. 优美的排列 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/beautiful-arrangement/submissions/题目描述:假设有从 1 到 N 的N个整数,如果从这N个数字中成功构造出一个数组,使得数组的第 i位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这个数组为一个优美的排列。条件:第i位的数字能被i...原创 2020-01-14 23:31:23 · 248 阅读 · 0 评论 -
【LeetCode】525. 连续数组 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/contiguous-array/题目描述:给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组(的长度)。示例 1:输入: [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: [0,1,0]输出: 2说明: [0, 1] ...原创 2020-01-14 12:47:26 · 217 阅读 · 0 评论 -
【LeetCode】523. 连续的子数组和 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/continuous-subarray-sum/submissions/题目描述:给定一个包含非负数的数组和一个目标整数k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6...原创 2019-10-22 16:56:43 · 456 阅读 · 0 评论 -
【LeetCode】522. 最长特殊序列 II 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/longest-uncommon-subsequence-ii/题目描述:给定字符串列表,你需要从它们中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任...原创 2019-10-18 15:55:34 · 274 阅读 · 0 评论 -
【LeetCode】519. 随机翻转矩阵 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/random-flip-matrix/题目描述:题中给出一个 n 行 n 列的二维矩阵 (n_rows,n_cols),且所有值被初始化为 0。要求编写一个 flip 函数,均匀随机的将矩阵中的 0 变为 1,并返回该值的位置下标 [row_id,col_id];同样编写一个 reset 函数,将所有的值都重新置为...原创 2019-10-17 21:42:25 · 157 阅读 · 0 评论 -
【LeetCode】517. 超级洗衣机 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/super-washing-machines/submissions/题目描述:假设有 n台超级洗衣机放在同一排上。开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的。在每一步操作中,你可以选择任意 m(1 ≤ m ≤ n)台洗衣机,与此同时将每台洗衣机的一件衣服送到相邻的一台洗衣机。给定一个非...原创 2019-10-17 16:51:25 · 660 阅读 · 0 评论 -
【LeetCode】516. 最长回文子序列 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/longest-palindromic-subsequence/题目描述:给定一个字符串s,找到其中最长的回文子序列。可以假设s的最大长度为1000。示例 1:输入:"bbbab"输出:4一个可能的最长回文子序列为 "bbbb"。示例 2:输入:"cbbd"输出:2一个可能的最长...原创 2019-10-16 21:51:50 · 328 阅读 · 0 评论 -
【LeetCode】513. 找树左下角的值 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/find-bottom-left-tree-value/submissions/题目描述:给定一个二叉树,在树的最后一行找到最左边的值。示例 1:输入: 2 / \ 1 3输出:1示例 2:输入: 1 / \ 2 3...原创 2019-10-16 11:27:27 · 190 阅读 · 0 评论 -
【LeetCode】503. 下一个更大元素 II 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/next-greater-element-ii/题目描述:给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。示例 1:...原创 2019-10-15 23:09:48 · 216 阅读 · 0 评论 -
【LeetCode】498. 对角线遍历 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/diagonal-traverse/submissions/题目描述:给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]...原创 2019-10-12 22:41:10 · 161 阅读 · 0 评论 -
【LeetCode】497. 非重叠矩形中的随机点 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/random-point-in-non-overlapping-rectangles/题目描述:给定一个非重叠轴对齐矩形的列表 rects,写一个函数 pick 随机均匀地选取矩形覆盖的空间中的整数点。提示:整数点是具有整数坐标的点。矩形周边上的点包含在矩形覆盖的空间中。第 i 个矩形 rects [i...原创 2019-10-12 21:34:19 · 359 阅读 · 0 评论 -
【LeetCode】494. 目标和 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/target-sum/submissions/题目描述:给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号+和-。对于数组中的任意一个整数,你都可以从+或-中选择一个符号添加在前面。返回可以使最终数组和为目标数 S 的所有添加符号的方法数。示例 1:输...原创 2019-10-12 11:05:19 · 379 阅读 · 0 评论 -
【LeetCode】215. 数组中的第K个最大元素 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/submissions/题目描述:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:...原创 2018-11-18 22:52:23 · 248 阅读 · 0 评论 -
【LeetCode】216. 组合总和 III 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/combination-sum-iii/submissions/题目描述:找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。 示例 1:输入: k = 3, n = 7输出: [[1...原创 2018-11-18 23:14:52 · 200 阅读 · 0 评论 -
【LeetCode】220. 存在重复元素 III 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/contains-duplicate-iii/submissions/题目描述:给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。示例 1:输入: nums = [1,2,3,1]...原创 2018-11-20 19:45:35 · 194 阅读 · 0 评论 -
【LeetCode】221. 最大正方形 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/maximal-square/submissions/题目描述:在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4 解题方案:本题是动态规划的题型,找到通...原创 2018-11-21 10:49:42 · 458 阅读 · 0 评论 -
【LeetCode】207. 课程表 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/course-schedule/description/题目描述:现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?...原创 2018-10-24 15:33:50 · 823 阅读 · 0 评论 -
【LeetCode】149. 直线上最多的点数 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/max-points-on-a-line/description/题目描述:给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o +-----------...原创 2018-10-12 22:06:15 · 1033 阅读 · 0 评论 -
【LeetCode】222. 完全二叉树的节点个数 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/count-complete-tree-nodes/submissions/题目描述:给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含...原创 2018-11-21 23:57:53 · 183 阅读 · 0 评论 -
【LeetCode】227. 基本计算器 II 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/basic-calculator-ii/题目描述:实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3...原创 2018-11-23 18:39:54 · 282 阅读 · 0 评论 -
【LeetCode】228. 汇总区间 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/summary-ranges/submissions/题目描述:给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。示例 1:输入: [0,1,2,4,5,7]输出: ["0->2","4->5","7"]解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。示例...原创 2018-11-23 19:23:19 · 239 阅读 · 0 评论 -
【LeetCode】218. 天际线问题 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/the-skyline-problem/题目描述:城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。现在,假设您获得了城市风光照片(图A)上显示的所有建筑物的位置和高度,请编写一个程序以输出由这些建筑物形成的天际线(图B)。Buildings Skyline Contour每个建筑物的几何信息...原创 2018-11-19 23:21:41 · 1354 阅读 · 1 评论 -
【LeetCode】223. 矩形面积 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/rectangle-area/submissions/题目描述:在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。每个矩形由其左下顶点和右上顶点坐标表示,如图所示。Rectangle Area示例:输入: -3, 0, 3, 4, 0, -1, 9, 2输出: 45说明: 假设矩形面积不...原创 2018-11-22 19:38:06 · 174 阅读 · 0 评论 -
【LeetCode】224. 基本计算器 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/basic-calculator/submissions/题目描述:实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。示例 1:输入: "1 + 1"输出: 2示例 2:输入: " 2-1 + 2 "输...原创 2018-11-22 20:46:51 · 412 阅读 · 0 评论 -
【LeetCode】169. 求众数 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/majority-element/submissions/题目描述:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,...原创 2018-11-24 17:29:47 · 247 阅读 · 0 评论 -
【LeetCode】229. 求众数 II 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/majority-element-ii/submissions/题目描述:给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。示例 1:输入: [3,2,3]输出: [3]示例 2:输入: [1,1,1,3...原创 2018-11-24 19:20:34 · 253 阅读 · 0 评论 -
【LeetCode】230. 二叉搜索树中第K小的元素 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/submissions/题目描述:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,n...原创 2018-11-25 23:28:54 · 135 阅读 · 0 评论 -
【LeetCode】240. 搜索二维矩阵 II 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/submissions/题目描述:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4...原创 2018-11-29 12:09:12 · 180 阅读 · 0 评论 -
【LeetCode】264. 丑数 II 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/ugly-number-ii/submissions/题目描述:编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明: 1 是丑数...原创 2018-12-04 11:23:54 · 217 阅读 · 1 评论 -
【LeetCode】273. 整数转换英文表示 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/integer-to-english-words/题目描述:将非负整数转换为其对应的英文表示。可以保证给定输入小于 231 - 1 。示例 1:输入: 123输出: "One Hundred Twenty Three"示例 2:输入: 12345输出: "Twelve Thousand Three...原创 2018-12-04 12:07:36 · 367 阅读 · 0 评论 -
【LeetCode】233. 数字1的个数 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/number-of-digit-one/题目描述:给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。示例:输入: 13输出: 6 解释: 数字 1 出现在以下数字中: 1, 10, 11, 12, 13 。 解题方案:纯数学类型的题目,需要寻找规律并进行总结,过程...原创 2018-11-26 23:20:12 · 385 阅读 · 0 评论 -
【LeetCode】241. 为运算表达式设计优先级 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/different-ways-to-add-parentheses/题目描述:给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。示例 1:输入: "2-1-1"输出: [0, 2]解释: ((...原创 2018-11-30 10:57:32 · 301 阅读 · 0 评论 -
【LeetCode】236. 二叉树的最近公共祖先 结题报告 (C++)
原题地址:题目描述:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] _...原创 2018-11-27 10:28:54 · 330 阅读 · 0 评论 -
【LeetCode】238. 除自身以外数组的乘积 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/product-of-array-except-self/submissions/题目描述:给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出...原创 2018-11-27 11:40:00 · 220 阅读 · 0 评论 -
【LeetCode】260. 只出现一次的数字 III 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/single-number-iii/题目描述:给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。示例 :输入: [1,2,1,3,2,5]输出: [3,5]注意:结果输出的顺序并不重要,对于上面的例子, [5, 3] 也是正确答案。你的...原创 2018-11-30 23:58:37 · 170 阅读 · 0 评论 -
【LeetCode】239. 滑动窗口最大值 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/sliding-window-maximum/题目描述:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k...原创 2018-11-28 18:56:02 · 1205 阅读 · 0 评论 -
【LeetCode】284. 顶端迭代器 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/peeking-iterator/题目描述:给定一个迭代器类的接口,接口包含两个方法: next() 和 hasNext()。设计并实现一个支持 peek() 操作的顶端迭代器 -- 其本质就是把原本应由 next() 方法返回的元素 peek() 出来。示例:假设迭代器被初始化为列表 [1,2,3]。...原创 2018-12-07 22:15:12 · 366 阅读 · 0 评论 -
【LeetCode】287. 寻找重复数 结题报告 (C++)
原题地址:https://leetcode-cn.com/problems/find-the-duplicate-number/submissions/题目描述:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2...原创 2018-12-08 00:02:09 · 499 阅读 · 0 评论