LeetCode 42 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1: 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 示例 2: 提示: 解题 选出中间两个最大的,然后求出中间的容量,然后再看两边的 官方解答 1.动态规划 2.单调栈 3.双指针

Continue reading


LeetCode 40 组合总和 II

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 示例 2: 提示: 代码: 根据上一篇代码写出了有重复的,没想好怎么去重 官方解答: 回溯

Continue reading


LeetCode 39 组合总和

题目:给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。 对于给定的输入,保证和为 target 的不同组合数少于 150 个。 示例 1: 示例 2: 示例 3: 提示: 想了半天没解出来,直接看答案了 官方解答: 搜索回溯

Continue reading


LeetCode 38 外观数列

题目: 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: 前五项如下: 要 描述 一个数字字符串,首先要将字符串分割为 最小 数量的组,每个组都由连续的最多 相同字符 组成。然后对于每个组,先描述字符的数量,然后描述字符,形成一个描述组。要将描述转换为数字字符串,先将每组中的字符数量用数字替换,再将所有描述组连接起来。 示例 1: 示例 2: 提示: 代码: 官方解答 1.遍历生成 2.枚举查表

Continue reading


LeetCode 37 解数独

题目: 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3×3 宫内只能出现一次。(请参考示例图) 数独部分空格内已填入了数字,空白格用 ‘.’ 表示。 示例 1: 输入: 输出: 解释:输入的数独如上图所示,唯一有效的解决方案如下所示: 提示: board.length == 9 board[i].length == 9 board[i][j] 是一位数字或者 ‘.’ 题目数据 保证 输入数独仅有一个解 解题: 每个行,列,宫里面1-9只出现一次 代码: 吭哧吭哧写了两天,结果还超时了。。 官方解答: 1.回溯 2.位运算 3.枚举优化 学习了

Continue reading