- 博客(32)
- 资源 (9)
- 问答 (6)
- 收藏
- 关注
原创 LeetCode第41题思悟——缺失的第一个正数(first-missing-positive)
LeetCode第41题思悟——缺失的第一个正数(first-missing-positive)知识点预告数组下标-数组长度-数组元素值三者关系的理解;“送”的思路;题目要求给定一个未排序的整数数组,找出其中没有出现的最小的正整数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-missing-positive...
2019-08-31 21:01:16 273
原创 LeetCode第40题思悟——组合总数II(combination-sum-ii)
LeetCode第40题思悟——组合总数II(combination-sum-ii)文章目录LeetCode第40题思悟——组合总数II(combination-sum-ii)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告数组的排序处理;分治思想的应用;递归结果的返回处理;题目要求给定一个数组 candidates 和一个目标数 target ,找出 can...
2019-08-30 16:14:38 226
原创 LeetCode第39题思悟——组合总和(combination-sum)
LeetCode第39题思悟——组合总和(combination-sum)知识点预告数组的排序处理;分治思想的应用;递归结果的返回处理;题目要求给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 targ...
2019-08-30 14:24:40 253
原创 LeetCode第38题思悟——报数(count-and-say)
LeetCode第38题思悟——报数(count-and-say)知识点预告理解和分析题意;递归方法的使用;for循环实现递归效果;题目要求报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即...
2019-08-29 21:29:45 222
原创 LeetCode第37题思悟——解数独(sudoku-solver)
LeetCode第37题思悟——解数独(sudoku-solver)文章目录LeetCode第37题思悟——解数独(sudoku-solver)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告多维数组的Map用法;深度优先遍历算法的理解;算法思维;题目要求编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能...
2019-08-27 20:54:35 560
原创 LeetCode第36题思悟——有效的数独(valid-sudoku)
LeetCode第36题思悟——有效的数独(valid-sudoku)知识点预告位运算的使用;逻辑运算的使用;int作为标记变量;题目要求判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分...
2019-08-26 09:56:46 252
原创 LeetCode第35题思悟——搜索插入位置(search-insert-position)
LeetCode第35题思悟——搜索插入位置(search-insert-position)知识点预告二分查找是left、right定界的意义:left之前的数,比target小;right之后的数,比target大;对插入位置的理解题目要求给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重...
2019-08-25 22:31:15 281
原创 LeetCode第34题思悟——在排序数组中查找元素的第一个和最后一个位置(find-first-and-last-position-of-element-in-sorted-array)
LeetCode第34题思悟——在排序数组中查找元素的第一个和最后一个位置(find-first-and-last-position-of-element-in-sorted-array)知识点预告二分查找的核心:定界;题目要求给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n)...
2019-08-24 20:48:48 290
原创 LeetCode第33题思悟——搜索旋转排序数组(search-in-rotated-sorted-array)
LeetCode第33题思悟——搜索旋转排序数组(search-in-rotated-sorted-array)文章目录LeetCode第33题思悟——搜索旋转排序数组(search-in-rotated-sorted-array)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告二分查找的本质理解;双指针锁定技巧;题目要求假设按照升序排序的数组在预先未知的某个点...
2019-08-23 20:46:46 292
原创 LeetCode第32题思悟——最长有效括号(longest-valid-parentheses)
LeetCode第32题思悟——最长有效括号(longest-valid-parentheses)知识点预告栈的使用方法;长度的计算方法;数组的妙用;题目要求给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-valid-pare...
2019-08-22 18:35:50 451
原创 LeetCode第31题思悟——下一个排列(next-permutation)
LeetCode第31题思悟——下一个排列(next-permutation)知识点预告简洁的变量命名;重复代码的抽离;对问题的理解和分析;题目要求实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。来源:力扣(LeetCode)链...
2019-08-21 19:36:26 266
原创 LeetCode第30题思悟——串联所有单词的子串(substring-with-concatenation-of-all-words)
LeetCode第30题思悟——串联所有单词的子串(substring-with-concatenation-of-all-words)知识点预告HashMap的统计作用;遍历字符串的技巧;题目要求给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。注意子串要与 words 中的单词完全匹配,中间不能有其他...
2019-08-20 22:08:23 247
原创 LeetCode第29题思悟——两数相除(divide-two-integers)
LeetCode第29题思悟——两数相除(divide-two-integers)知识点预告对于Int型整数溢出的处理;对于运算结果符号的判定;位移运算的使用;题目要求给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。来源:力扣(LeetCode...
2019-08-19 17:40:25 281
原创 LeetCode第28题思悟——strStr(implement-strstr)
LeetCode第28题思悟——strStr(implement-strstr)知识点预告注意算法的使用场景和优劣分析;参数边界条件的处理题目要求给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。链接:https://leetcode-cn.com/p...
2019-08-18 20:05:54 195
原创 LeetCode第27题思悟——移出元素(remove-element)
LeetCode第27题思悟——移出元素(remove-element)知识点预告双指针遍历数组;处理问题的一致性;题目要求给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元...
2019-08-17 20:16:02 292
原创 LeetCode第26题思悟——删除排序数组中的重复项(remove-duplicates-from-sorted-array)
LeetCode第26题思悟——删除排序数组中的重复项(remove-duplicates-from-sorted-array)知识点预告双指针遍历数组的技巧;题目要求给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。来源:力扣(LeetCod...
2019-08-16 18:21:49 302
原创 LeetCode第25题思悟——K 个一组翻转链表(reverse-nodes-in-k-group)
LeetCode第25题思悟——K 个一组翻转链表(reverse-nodes-in-k-group)知识点预告重复性操作的处理方法:使用双重循环和递归的方法处理;边界变量的选择:简单变量较好;题目要求给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。...
2019-08-15 21:22:19 268
原创 LeetCode第24题思悟——两两交换链表中的节点(swap-nodes-in-pairs)
LeetCode第24题思悟——两两交换链表中的节点(swap-nodes-in-pairs)文章目录LeetCode第24题思悟——两两交换链表中的节点(swap-nodes-in-pairs)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告空头指针的处理技巧;按部就班地翻译题目要求;题目要求给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是...
2019-08-14 18:43:14 214
原创 Leetcode第23题思悟——合并K个排序链表(merge-k-sorted-lists)
Leetcode第23题思悟——合并K个排序链表(merge-k-sorted-lists)文章目录Leetcode第23题思悟——合并K个排序链表(merge-k-sorted-lists)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告分治思想题目要求合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。来源:力扣(LeetCode)链接:...
2019-08-13 20:16:03 298
原创 LeetCode第22题思悟——括号生成(generate-parentheses)
LeetCode第22题思悟——括号生成(generate-parentheses)文章目录LeetCode第22题思悟——括号生成(generate-parentheses)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告深度优先遍历的应用;递归的理解;结果集的传递:参数传递、类成员变量传递;题目要求给出 n 代表生成括号的对数,请你写出一个函数,使其能够生...
2019-08-12 13:08:06 264
原创 LeetCode第21题思悟——合并两个有序链表(merge-two-sorted-lists)
LeetCode第21题思悟——合并两个有序链表(merge-two-sorted-lists)文章目录LeetCode第21题思悟——合并两个有序链表(merge-two-sorted-lists)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告空头节点的处理;题目要求将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。...
2019-08-12 13:07:10 405
原创 LeetCode第20题思悟——有效的括号(valid-parentheses)
LeetCode第20题思悟——有效的括号(valid-parentheses)文章目录LeetCode第20题思悟——有效的括号(valid-parentheses)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告数据结构类型的选择——栈;数据结构实现的选择——简单高效;算法和数据结构的密切关系——要实现1+1>2的效果:相辅相成,互相成就;题目要求给...
2019-08-12 13:06:21 378
原创 LeetCode第19题思悟——删除链表的倒数第N个节点(remove-nth-node-from-end-of-list)
LeetCode第19题思悟——删除链表的倒数第N个节点(remove-nth-node-from-end-of-list)文章目录LeetCode第19题思悟——删除链表的倒数第N个节点(remove-nth-node-from-end-of-list)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告双指针遍历技巧得以扩展:同向同速双指针遍历;思考问题的模式:归纳【尾...
2019-08-12 13:05:13 232
原创 LeetCode第18题思悟——四数之和(4sum)
LeetCode第18题思悟——四数之和(4sum)文章目录LeetCode第18题思悟——四数之和(4sum)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告数组排序预处理:无序变有序;去重操作的位置选择:去掉冗余代码;遍历前的预判断处理:快速筛选处理;题目要求给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四...
2019-08-08 18:51:12 278
原创 LeetCode第17题思悟——电话号码的字母组合(letter-combinations-of-a-phone-number)
LeetCode第17题思悟——电话号码的字母组合(letter-combinations-of-a-phone-number)文章目录LeetCode第17题思悟——电话号码的字母组合(letter-combinations-of-a-phone-number)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告分治的解题思想和递归的处理手段;利用组合问题的特点,通过计算...
2019-08-07 11:44:42 375
原创 LeetCode第16题思悟——最接近的三数之和(3sum-closest)
LeetCode第16题思悟——最接近的三数之和(3sum-closest)知识点预告数组预处理:排序;双指针遍历数组的处理方法;题目要求给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。来源:力扣(LeetCode)链接:https://le...
2019-08-06 17:45:56 243
原创 LeetCode第15题思悟——三数之和(3sum)
LeetCode第15题思悟——三数之和(3sum)文章目录LeetCode第15题思悟——三数之和(3sum)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结知识点预告预处理数据的常见手段:排序;双指针遍历数组,在范围内寻找两个数;数组去重处理;题目要求给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c...
2019-08-05 17:47:11 246
原创 LeetCode第14题思悟——最长公共前缀(ongest-common-prefix)
LeetCode第14题思悟——最长公共前缀(ongest-common-prefix)文章目录LeetCode第14题思悟——最长公共前缀(ongest-common-prefix)知识点预告题目要求示例我的思路优秀解法差异分析知识点回顾知识点预告双重循环——在内循环中终止外循环的技巧;寻找公共的思路:米字型和链表型;获取答案的方式:由小到大,和由大到小,或者说拼装和裁剪;题目要...
2019-08-04 19:24:57 239
原创 LeetCode第13题思悟——罗马数字转整型(roman-to-integer)
LeetCode第13题思悟——罗马数字转整型(roman-to-integer)文章目录LeetCode第13题思悟——罗马数字转整型(roman-to-integer)知识点预告题目要求示例我的思路优秀解法差别分析知识点总结回顾知识点预告标记变量的使用;对检测行为发生时机的选择;题目要求罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 ...
2019-08-03 18:53:00 174
原创 LeetCode第12题思悟——整数转罗马数字(integer-to-roman)
LeetCode第12题思悟——整数转罗马数字(integer-to-roman)文章目录LeetCode第12题思悟——整数转罗马数字(integer-to-roman)知识点预告题目要求示例我的思路其他优秀的解法差别分析知识点小结知识点预告获取整数确定数位上数字的方法;映射的解题思路;翻译“题目要求”的处理手段;题目要求罗马数字包含以下七种字符: I, V, X, L,C,...
2019-08-02 18:01:09 298
原创 LeetCode第11题思悟——盛最多水的容器(container-with-most-water)
LeetCode第11题思悟——盛最多水的容器(container-with-most-water)文章目录LeetCode第11题思悟——盛最多水的容器(container-with-most-water)文章知识点预告题目要求示例我的思路优秀解法差别在哪里知识点小结文章知识点预告双指针遍历技巧;移动小指针的分析;暴力求解的一种优化:使用空间换时间;数学很重要;题目要求给定 ...
2019-08-01 18:15:54 350
原创 LeetCode思悟专栏汇总
LeetCode思悟专栏WhoNil Xuan,喜欢创造,享受思考,乐于分享的程序猿。What本专栏将长期、每天不断更分享Leetcode刷题经验和算法技巧总结。Why我们知道,“学而不思则罔,思而不学则殆”。算法的学习更是如此:我们应该在打渔的过程中总结打渔经验,并通过打渔经验反哺打渔活动。而本专栏就是基于这样的出发点而设立。另外,有些问题,还需要解释或者思考清楚,正所谓,谋...
2019-08-01 08:40:28 274
微信公众号生成推广二维码源码
2019-03-10
gson 源代码Jar、工程Jar、API Jar
2018-07-16
最新2017年全国高校名单数据库(自制)
2018-02-12
MFC实现完整GoBang(五子棋)
2017-12-28
Intellij IDEA 如何打包存在依赖关系的Maven多模块项目?
2019-01-14
Spring Boot JPA 中如何表示对象间的继承关系?
2018-11-15
Spring Boot2 中如何使用OKHTTP3实现对浏览器的模拟?
2018-10-21
Tesseract 4.0 && vs2017编译
2018-05-08
Hibernate Set 映射时出现下列异常,求解
2018-03-10
如何实现Servlet向JSP页面传递数据
2018-01-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人