
Leetcode1
文章平均质量分 94
取个程序猿的名字
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode总结——查找和排序
查找和排序:二分查找:旋转数组的最小值旋转数组的索引值累快速排序:三色旗:旋转数组的最小值假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例 1:输入: [3,4,5,1,2]输出: 1示例 2:输入: [4,5,6...原创 2020-02-17 21:32:49 · 369 阅读 · 0 评论 -
leetcode总结——分治
分治法:最长公共前缀合并 k 个排序链表:最长公共前缀:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”class Solution { public String l...原创 2020-02-17 21:31:27 · 422 阅读 · 0 评论 -
leetcode——回溯
回溯法:第几个全排列括号组合下一个排列数字组合矩阵中对应字符串第几个全排列:给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k ...原创 2020-02-17 21:30:59 · 267 阅读 · 0 评论 -
leetcode总结——动态规划
动态规划:杨辉三角最长回文字符串最大乘积子数组01矩阵中最大的1正方形机器人走路:字符编码杨辉三角:给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]解答一:class Solution { public List<Integer> getRo...原创 2020-02-17 21:29:54 · 501 阅读 · 0 评论 -
leetcode总结——数字篇
数字处理翻转数字atoi范围数字的与和整数除法丑数pow算法:格雷编码是否是3的幂次方范围数字的与和:给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。示例 1:输入: [5,7]输出: 4示例 2:输入: [0,1]输出: 0此题其实就是寻找[m,n]范围内...原创 2020-02-17 21:28:13 · 392 阅读 · 0 评论 -
leetcode总结——字符串篇
字符串处理:翻转字符串同构字符串异位字符串:翻转字符串给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输...原创 2020-02-17 21:27:19 · 672 阅读 · 0 评论 -
leetcode总结——树篇
自上而下:路径和sum最短路径镜像树层次遍历树化链表完全二叉树的节点个数:路径和sum:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 ...原创 2020-02-17 21:26:49 · 395 阅读 · 0 评论 -
leetcode——链表篇
链表:链表和链表右移动k位翻转链表两两交换链表节点链表根据X分区:删除链表重复元素:最多出现两次的数组链表和:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:...原创 2020-02-17 21:25:13 · 218 阅读 · 0 评论 -
leetcode总结——矩阵
Z字符串螺旋矩阵矩阵置0矩阵查找Z字符串将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOE...原创 2020-02-17 21:24:05 · 570 阅读 · 0 评论 -
leetcode总结——数组篇
快慢指针:环形数组,最多出现两次的数组pat型:除开自己的以外的乘积Map:两数和/三数和/四数和,播放磁带,01数组滑动窗口:最长不重复子串,t步内差小于k首尾指针:水桶容量贪心算法:合并区间,跳跃数组,矩阵面积计算机数字转化环形数组:给定一个含有正整数和负整数的环形数组 nums。 如果某个索引中的数 k 为正数,则向前移动 k 个索引。相反,如果是负数 (-k),则向后移动 ...原创 2020-02-17 21:23:11 · 798 阅读 · 0 评论 -
leetcode45——树形动态规划,比特计数
337:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。示例 1:输入: [3,...原创 2019-12-12 20:03:58 · 276 阅读 · 0 评论 -
leetcode44——奇偶链表,验证前序二叉树,递增三元子序列
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->2-&g...原创 2019-12-11 19:49:28 · 170 阅读 · 0 评论 -
leetcode43——纸币问题,振动数组,最长值为K的数组
322:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明:你...原创 2019-12-10 21:23:44 · 236 阅读 · 0 评论 -
leetcode42——同值树(2),灯炮开关,单词缩写
250:给定一个二叉树,统计该二叉树数值相同的子树个数。同值子树是指该子树的所有节点都拥有相同的数值。示例:输入: root = [5,1,5,5,5,null,5] 5 / \ 1 5 / \ \ 5 5 5输出: 4子到父的方法class Solution {int count=0...原创 2019-12-09 21:08:27 · 416 阅读 · 0 评论 -
leetcode41——叠加数,稀疏矩阵的乘法,最矮树,区间和
累加数是一个字符串,组成它的数字可以形成累加序列。一个有效的累加序列必须至少包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。给定一个只包含数字 ‘0’-‘9’ 的字符串,编写一个算法来判断给定输入是否是累加数。说明: 累加序列里的数不会以 0 开头,所以不会出现 1, 2, 03 或者 1, 02, 3 的情况。示例 1:输入: “112358”输出...原创 2019-11-30 16:59:05 · 272 阅读 · 0 评论 -
leetcode40——超级丑数,垂直遍历,最长单词乘积
编写一段程序来查找第 n 个超级丑数。超级丑数是指其所有质因数都是长度为 k 的质数列表 primes 中的正整数。示例:输入: n = 12, primes = [2,7,13,19]输出: 32解释: 给定长度为 4 的质数列表 primes = [2,7,13,19],前 12 个超级丑数序列为:[1,2,4,7,8,13,14,16,19,26,28,32] 。说明:1 是任...原创 2019-11-26 21:21:32 · 127 阅读 · 0 评论 -
leetcode39——重复数字,反转游戏,细胞生命,连续子树
给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-t...原创 2019-11-21 22:06:11 · 306 阅读 · 0 评论 -
leetcode39——平方数,0交换,锯齿遍历,锯齿数组,门
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problem...原创 2019-11-18 21:24:14 · 133 阅读 · 0 评论 -
leetcode38——所有回文字符,二叉搜索树的最接近K个值,数组中最接近x的k个值,论文因子
map:常用方法:增:Put删:remove(key)查:containsKey,containsValue,getchar a:map.keySetfor(Map.Entry<String, String> entry : map.entrySet()){String mapKey = entry.getKey();String mapValue = entry.get...原创 2019-11-16 21:00:19 · 491 阅读 · 0 评论 -
leetcode 37——较小的三数和,两个只出现一次的数字,无环图,重构回文字符串
给定一个长度为 n 的整数数组和一个目标值 target,寻找能够使条件 nums[i] + nums[j] + nums[k] < target 成立的三元组 i, j, k 个数(0 <= i < j < k < n)。示例:输入: nums = [-2,0,1,3], target = 2输出: 2解释: 因为一共有两个三元组满足累加和小于 2:[-...原创 2019-11-14 21:36:49 · 263 阅读 · 0 评论 -
leetcode36——所有因子,先序遍历二叉搜索树,粉刷房子
假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 的矩阵来表示的。例如,costs[0][0] 表示第 0 号房子粉刷成红色的成本花费;costs[1][2] 表示第 1...原创 2019-11-13 21:11:31 · 201 阅读 · 0 评论 -
leetcode35——翻转数字,移位字符串,同值二叉树,会议室
中心对称数是指一个数字在旋转了 180 度之后看起来依旧相同的数字(或者上下颠倒地看)。找到所有长度为 n 的中心对称数。示例 :输入: n = 2输出: [“11”,“69”,“88”,“96”]class Solution {public List findStrobogrammatic(int n) {return help(n, n);}public List help...原创 2019-11-12 22:24:31 · 594 阅读 · 0 评论 -
Leetcode34——字符串距离,翻倒字符串
leetcode243给定一个单词列表和两个单词 word1 和 word2,返回列表中这两个单词之间的最短距离。示例:假设 words = [“practice”, “makes”, “perfect”, “coding”, “makes”]输入: word1 = “coding”, word2 = “practice”输出: 3输入: word1 = “makes”, word2 ...原创 2019-11-11 22:19:54 · 172 阅读 · 0 评论 -
Leetcode33——有序矩阵,为字符串加括号
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, ...原创 2019-11-08 21:00:47 · 187 阅读 · 0 评论 -
leetcode32——众数,二叉搜索树中第k小节点,回文链表,公共祖先
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-elemen...原创 2019-11-07 21:18:53 · 153 阅读 · 0 评论 -
leetcode31——最小连续数组和为k,前缀树的*匹配,打家劫舍
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法,...原创 2019-11-05 22:32:19 · 256 阅读 · 0 评论 -
Leetcode30——前缀树与讲解
前缀树今天周日,作业太多了,晚上还有比赛,实在没时间做leetcode了前缀树,又叫字典树,主要用于实现下述功能自动补全拼写检查IP 路由 (最长前缀匹配)主要结构是:每一个节点都有两个属性TrieNode[] child;//记录孩子节点boolean is_end;//记录当前节点是不是一个单词的结束字母trie是一个以空间换时间的算法。其每一个字符都可能包含至多字符集...原创 2019-11-03 10:28:32 · 245 阅读 · 0 评论 -
Leetcode29——二叉排序树,右侧二叉树,定长重复字符串,岛屿问题
leetcode173:实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。示例:BSTIterator iterator = new BSTIterator(root);iterator.next(); // 返回 3iterator.next(); // 返回 7iterator.hasNext()...原创 2019-11-02 10:19:24 · 176 阅读 · 0 评论 -
LeetCode28——匹配字符串,环入口地址,复制链表,特别翻转链表
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成...原创 2019-11-01 19:26:08 · 150 阅读 · 0 评论 -
Leetcode26——回文字符串的输出,深拷贝图,汽车加油,三个重复数字
leetcode131给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出:[[“aa”,“b”],[“a”,“a”,“b”]]解析:首先利用冬天规划得到回文子串的(i,j),之后利用分治思想加递归。class Solution { public List<List<String>...原创 2019-10-31 11:33:04 · 171 阅读 · 0 评论 -
Leetcode 25——替换字符,树的数字和,矩阵字符替换
leetcode 127给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 begi...原创 2019-10-30 22:21:30 · 247 阅读 · 0 评论 -
LeetCode24——股票投资问题
股票投资问题这是要一个系列的动态规划问题dp[i][k][j]:其中i代表第几天【0-N】,k代表可以买卖股票的次数[0-K],j代表当天是否持有股票[0,1] dp为最大的利润因为动态规划肯定是转移方程,所以我们有dp[i][k][0]=max{dp[i-1][k][0],dp[i-1][k][1]+prices[i]}dp[i][k][1]=max{dp[i-1][k][1],dp[...原创 2019-10-29 10:08:55 · 302 阅读 · 0 评论 -
Leetcode 24——二叉搜索树的情况,二叉搜索树的验证,三角形的路径和
leetcode95:给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树:1 3 3 2 1\ / / / \ 3 2 1 1 3 2/ / ...原创 2019-10-26 11:32:10 · 150 阅读 · 0 评论 -
Leetcode23——树(其实是水水的一天)
给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution {publi...原创 2019-10-25 16:40:35 · 151 阅读 · 0 评论 -
Leetcode 22——局部翻转链表,IP地址转化
leetcode92反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL解析:菜的真实,链表翻转都不会写了aaaaaaaaaaaaaaaaaaaaaaaa...原创 2019-10-24 09:29:55 · 173 阅读 · 0 评论 -
Leetcode21——大小链表数组,格雷编码,重复元素的子集,a-z译码
leetcode86给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5解析:利用三个指针,分别是小数组链表指针,大数组...原创 2019-10-22 13:49:39 · 174 阅读 · 0 评论 -
Leetcode20——旋转重复数组,删除重复元素,矩阵最大面积
leetcode81假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。示例 1:输入: nums = [2,5,6,0,0,1,2], target = 0输出: true示例 2:输入: nu...原创 2019-10-20 16:21:55 · 179 阅读 · 0 评论 -
Leetcode19——红白蓝数组,组合子集,最多出现两次的数组,数组中搜索单词
leetcode75给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]解析:三个指针,首尾和当前指针,通过当前指针的值...原创 2019-10-19 10:49:49 · 481 阅读 · 0 评论 -
Leetcode18———二分进阶,UNIX路径简化,置矩阵行列为0,二维有序矩阵查找
参考https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/solution/er-fen-cha-zhao-suan-fa-xi-jie-xiang-jie-by-labula/二分查找进阶:上下界二分首先标准的二分的实现细节:while(left<=rig...原创 2019-10-18 10:34:18 · 168 阅读 · 0 评论 -
leetcode17——矩阵旋转,字符串异位词组合,快速幂,机器人走地图
题目一:leetcode48给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]...原创 2019-10-17 20:20:01 · 191 阅读 · 0 评论