自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 LeetCode [93] 复原IP地址

LeetCode [93] 复原IP地址题目描述题目分析源码改进改进代码分析题目描述给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: “25525511135”输出: [“255.255.11.135”, “255.255.111.35”]题目分析这道题题目很短,可以说是做过里面最短的了,但是边界却出奇的多,我们来列一下到底要考虑多少东西,我们从极端...

2019-03-27 17:51:59 296

原创 LeetCode [92] 反转链表 II

LeetCode [92] 反转链表 II题目描述题目分析源码改进改进代码分析题目描述反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL题目分析全链...

2019-03-27 17:29:53 163

原创 LeetCode [91] 解码方法

LeetCode [91] 解码方法题目描述题目分析源码改进改进代码分析题目描述一条包含字母 A-Z 的消息通过以下方式进行了编码:‘A’ -> 1‘B’ -> 2…‘Z’ -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: “12”输出: 2解释: 它可以解码为 “AB”(1 2)或者 “L”(12)。示例 2:输入: “...

2019-03-27 16:52:26 200

原创 LeetCode [90]子集 II

LeetCode [90]子集 II题目描述题目分析源码改进改进代码分析题目描述给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[[2],[1],[1,2,2],[2,2],[1,2],[]]题目分析这道题比普通的回溯找子集难在他里面有相同的数,所以有很多重复的子集就需要...

2019-03-27 16:15:05 157

原创 LeetCode [89]格雷编码

LeetCode [89]格雷编码题目描述题目分析源码改进改进代码分析难点题目描述格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列...

2019-03-27 15:11:56 155

原创 LeetCode [88]合并两个有序数组

LeetCode [88]合并两个有序数组题目描述题目分析源码改进改进代码分析难点题目描述给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示...

2019-03-27 14:22:42 215

原创 LeetCode [86]分隔链表

LeetCode [86]分隔链表题目描述题目分析源码改进改进代码分析难点小结题目描述给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4-&g...

2019-03-26 17:51:06 127

原创 LeetCode [82] 删除排序链表中的重复元素 II

LeetCode [82] 删除排序链表中的重复元素 II题目描述题目分析源码改进改进代码分析难点小结题目描述给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2-&gt...

2019-03-26 17:36:23 158

原创 LeetCode [80] 删除排序数组中的重复项 II

LeetCode [80] 删除排序数组中的重复项 II题目描述题目分析源码改进改进代码分析难点小结题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length ...

2019-03-26 17:05:15 106

原创 LeetCode [79] 单词搜索

LeetCode [79] 单词搜索题目描述题目分析源码改进改进代码分析难点小结题目描述给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[[‘A’,‘B’,‘C’,‘E’],[‘S’,‘F’,‘C’,‘S’],[...

2019-03-26 16:35:54 143

原创 LeetCode [77] 组合

LeetCode [77] 组合题目描述题目分析源码改进改进代码分析难点小结题目描述给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]题目分析这就是一个很经典的回溯问题。如果list的元素到了k个,那么res就加进去开始新的循...

2019-03-26 15:59:21 128

原创 LeetCode [75] 颜色分类

LeetCode [75] 颜色分类题目描述题目分析源码改进改进代码分析难点小结题目描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,...

2019-03-26 15:31:49 111

原创 LeetCode [74] 搜索二维矩阵

LeetCode [74] 搜索二维矩阵题目描述题目分析源码改进改进代码分析难点小结题目描述编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34,...

2019-03-25 15:41:48 145

原创 LeetCode [73] 矩阵置零

LeetCode [73] 矩阵置零题目描述题目分析源码改进改进代码分析难点小结题目描述给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入:[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2:输入:[[0,1,2,0],[3,4...

2019-03-25 15:19:40 159

原创 LeetCode [71] 简化路径

LeetCode [71] 简化路径题目描述题目分析源码改进改进代码分析难点小结题目描述以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs...

2019-03-25 14:43:08 143

原创 LeetCode [65] 有效数字

LeetCode [65] 有效数字题目描述题目分析源码改进改进代码分析难点小结题目描述验证给定的字符串是否为数字。例如:“0” => true" 0.1 " => true“abc” => false“1 a” => false“2e10” => true说明: 我们有意将问题陈述地比较模糊。在实现代码之前,你应当事先思考所有可能的情况。题目分析...

2019-03-25 14:07:09 338

原创 [LeetCode 64] 最小路径和

[LeetCode 64] 最小路径和题目描述题目分析源码改进改进代码分析难点小结题目描述给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。题目分析这道题不就是...

2019-03-25 13:48:35 137

原创 [LeetCode 63] 不同路径 II

[LeetCode 63] 不同路径 II题目描述题目分析源码改进改进代码分析难点小结题目描述示例 1:输入:[[0,0,0],[0,1,0],[0,0,0]]输出: 2解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:向右 -> 向右 -> 向下 -> 向下向下 -> 向下 -> 向右 -> 向右...

2019-03-25 13:22:05 132

原创 [LeetCode 61] 旋转链表

[LeetCode 61] 旋转链表题目描述题目分析源码改进改进代码分析难点小结题目描述给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1-...

2019-03-24 19:52:10 130

原创 [LeetCode 60] 第k个排列

[LeetCode 60] 第k个排列题目描述题目分析源码改进改进代码分析难点小结题目描述按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。示例 1:输入: n = 3, ...

2019-03-24 19:34:04 212

原创 [LeetCode 59] 螺旋矩阵 II

[LeetCode 59] 螺旋矩阵 II题目描述源码改进改进代码分析难点小结题目描述给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]## 题目分析这道题和螺旋矩阵一样,就是从上右下左的顺序慢慢打印数字,有几个就打印n^2个数字就完...

2019-03-24 19:12:42 135

原创 [LeetCode 57] 插入区间

[LeetCode 57] 插入区间题目描述题目分析源码改进改进代码分析难点小结题目描述给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入: intervals = [[1,3],[6,9]], newInterval = [2,5]输出: [[1,5],[6,9]]示例...

2019-03-24 18:20:59 136 1

原创 [LeetCode 56] 合并区间

[LeetCode 56] 合并区间题目描述题目分析源码改进改进代码分析难点小结题目描述给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出:...

2019-03-24 17:57:41 243

原创 [LeetCode 54] 螺旋矩阵

[LeetCode 54] 螺旋矩阵题目描述题目分析源码改进改进代码分析难点小结题目描述给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[[1, 2, 3, 4],...

2019-03-24 17:28:10 211

原创 [LeetCode 52] N皇后 II

[LeetCode 52] N皇后 II题目描述题目分析源码难点小结题目描述示例:输入: 4输出: 2解释: 4 皇后问题存在如下两个不同的解法。[[".Q…", // 解法 1“…Q”,“Q…”,“…Q.”],["…Q.", // 解法 2“Q…”,“…Q”,“.Q…”]]题目分析N皇后 II和LeetCode 51其实是一摸一样的题,不过这道题就是把回溯...

2019-03-23 19:56:45 143

原创 [LeetCode 51] N皇后

[LeetCode 51] N皇后题目描述题目分析源码难点小结题目描述示例:输入: 4输出: [[".Q…", // 解法 1“…Q”,“Q…”,“…Q.”],["…Q.", // 解法 2“Q…”,“…Q”,“.Q…”]]解释: 4 皇后问题存在两个不同的解法。题目分析这个N皇后其实和数独有异曲同工的地方,皇后不能互相攻击的意思就在同一行同一列以及两条对角线...

2019-03-23 19:39:56 119

原创 [LeetCode 49] 字母异位词分组

[LeetCode 49] 字母异位词分组题目描述题目分析源码难点改进小结题目描述给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均...

2019-03-23 18:38:45 324

原创 [LeetCode 48] 旋转图像

[LeetCode 48] 旋转图像题目描述题目分析源码难点小结题目描述给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1...

2019-03-23 18:09:42 118

原创 [LeetCode 37] 解数独

[LeetCode 37] 解数独题目描述题目分析源码难点小结题目描述Note:给定的数独序列只包含数字 1-9 和字符 ‘.’ 。你可以假设给定的数独只有唯一解。给定数独永远是 9x9 形式的。题目分析前面的分析和LeetCode 36的一摸一样,不过是先遍历一遍数独,把已经填好的数字保存在那三个数组中,如果不做36直接上手37还是挺难的。保存完之后就是添加了,再遍历一次获取空的...

2019-03-23 17:33:24 163

原创 [LeetCode 36]有效的数独

LeetCode 36 有效的数独题目描述题目分析源码难点小结改进题目描述示例 1:输入:[[“5”,“3”,".",".",“7”,".",".",".","."],[“6”,".",".",“1”,“9”,“5”,".",".","."],[".",“9”,“8”,".",".",".",".",“6”,"."],[“8”,".",".",".",“6”,".",".","....

2019-03-23 16:43:44 160

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除