随笔分类 -  leetcode

摘要:解题思路 凡是“连续子数组求和”问题,都可以套入下面的逻辑公式 假设用s[i][j]表示连续子数组a[i:j]的和, 则不难看出s[i][j] = s[0][j] - s[0][i]; 当 s[0][i]与s[0][j] 同时满足某种条件时 ⇒ s[i][j] 可满足某种条件 容易看出在本题中,当( 阅读全文
posted @ 2020-05-27 13:59 真理君的宿敌 阅读(186) 评论(0) 推荐(0)
摘要:解题思路 我们维护一个这样单调栈: + 大于栈顶元素,入栈 + 否则,弹出栈顶元素直到栈为空或者情形 成立 84. 柱状图中最大的矩形 首先来看 "84. 柱状图中最大的矩形" ,这样的栈为什么能解决最大矩形问题呢? 我们比较柱状图的高度,而在栈中存放的是柱状图的下标。 在弹栈的时候,计算出矩形的实 阅读全文
posted @ 2020-05-08 23:07 真理君的宿敌 阅读(264) 评论(0) 推荐(0)
摘要:题目描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: + 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 + 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保 阅读全文
posted @ 2020-04-15 13:08 真理君的宿敌 阅读(213) 评论(0) 推荐(0)
摘要:题目描述 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 解题思路 假设矩阵中存在一个最大矩形,我们不妨将它底边一下的矩阵挡住,把“1”看作实心柱体,把“0”看作空心,跟84题就非常相似了。唯一不同的就是,我们这里还有一些悬空的柱子。不过没有关系,我 阅读全文
posted @ 2020-04-15 13:05 真理君的宿敌 阅读(277) 评论(0) 推荐(0)
摘要:题目描述 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: + 所有数字(包括目标数)都是正整数。 + 解集不能包含重复的组合。 示例 1: 阅读全文
posted @ 2020-04-15 13:01 真理君的宿敌 阅读(169) 评论(0) 推荐(0)
摘要:题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: + 所有数字(包括 target)都是正整数。 + 解集不能包含重复的组合。 阅读全文
posted @ 2020-04-15 12:58 真理君的宿敌 阅读(146) 评论(0) 推荐(0)
摘要:题目描述 542. 01 矩阵 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 解题思路 1. 每一个‘1’的距离与自身临近的上、下、左、右四个位置相关 2. 3. 需要‘左 右’、‘上 下’、‘右 左’、‘下 上’四遍动态规划遍历 4. 结合 阅读全文
posted @ 2020-04-15 12:55 真理君的宿敌 阅读(228) 评论(0) 推荐(0)
摘要:题目 给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '\ ' 的通配符匹配。 + '?' 可以匹配任何单个字符。 + '\ ' 可以匹配任意字符串(包括空字符串)。 + 两个字符串完全匹配才算匹配成功。 + s 可能为空,且只包含从 a z 的小写字母。 + p 可能为 阅读全文
posted @ 2020-03-24 20:11 真理君的宿敌 阅读(290) 评论(0) 推荐(0)
摘要:1. 解数独 因为年少时喜欢做数独,所以很清楚数独的解题思路,简单总结如下: 1. 先确定每个空格可能取值 2. 填写只剩一种可能取值的空格 3. 更新其他同行,同列,同9宫格的空格可能取值 4. 重复【2】【3】,出现3中情况: 没有空格 解题成功 任一空格不存在任何可能的取值 本题无解 剩下的空 阅读全文
posted @ 2020-03-11 22:42 真理君的宿敌 阅读(212) 评论(0) 推荐(0)