![](https://img-blog.csdnimg.cn/20181215184555167.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode解题指南
我希望通过我的描述让大家看到一个问题的解决过程,而不仅仅是一个答案。文中解题过程通过python语言描述,其他语言会上传到我的GitHub上
coordinate_blog
这个作者很懒,什么都没留下…
展开
-
Leetcode 1046:最后一块石头的重量(超详细的解法!!!)
有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 ...原创 2019-09-30 09:17:00 · 683 阅读 · 0 评论 -
Leetcode 1047:删除字符串中的所有相邻重复项(超详细的解法!!!)
给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:"abbaca"输出:"ca"解释:例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aa...原创 2019-09-30 18:58:36 · 1345 阅读 · 0 评论 -
Leetcode 1048:最长字符串链(超详细的解法!!!)
给出一个单词列表,其中每个单词都由小写英文字母组成。如果我们可以在 word1 的任何地方添加一个字母使其变成 word2,那么我们认为 word1 是 word2 的前身。例如,"abc" 是 "abac" 的前身。词链是单词 [word_1, word_2, ..., word_k] 组成的序列,k >= 1,其中 word_1 是 word_2 的前身,word_2 是 word_...原创 2019-10-01 11:09:59 · 1341 阅读 · 0 评论 -
Leetcode 1049:最后一块石头的重量 II(超详细的解法!!!)
有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就...原创 2019-10-01 15:15:31 · 1176 阅读 · 0 评论 -
Leetcode 1209:删除字符串中的所有相邻重复项 II(超详细的解法!!!)
给你一个字符串 s,「k 倍重复项删除操作」将会从 s 中选择 k 个相邻且相等的字母,并删除它们,使被删去的字符串的左侧和右侧连在一起。你需要对 s 重复进行无限次这样的删除操作,直到无法继续为止。在执行完所有删除操作后,返回最终得到的字符串。本题答案保证唯一。示例 1:输入:s = "abcd", k = 2输出:"abcd"解释:没有要删除的内容。示例 2:输入:s = ...原创 2019-10-01 16:43:50 · 1413 阅读 · 0 评论 -
Leetcode 1213:三个有序数组的交集(超详细的解法!!!)
给出三个均为 严格递增排列 的整数数组 arr1,arr2 和 arr3。返回一个由 仅 在这三个数组中 同时出现 的整数所构成的有序数组。示例:输入: arr1 = [1,2,3,4,5], arr2 = [1,2,5,7,9], arr3 = [1,3,4,5,8]输出: [1,5]解释: 只有 1 和 5 同时在这三个数组中出现.提示:1 <= arr1.length...原创 2019-10-06 20:08:10 · 3664 阅读 · 0 评论 -
Leetcode 1214:查找两棵二叉搜索树之和(超详细的解法!!!)
给出两棵二叉搜索树,请你从两棵树中各找出一个节点,使得这两个节点的值之和等于目标值 Target。如果可以找到返回 True,否则返回 False。示例 1: 输入:root1 = [2,1,4], root2 = [1,0,3], target = 5输出:true解释:2 加 3 和为 5 。示例 2: 输入:root1 = [0,-...原创 2019-10-07 09:30:19 · 1815 阅读 · 0 评论 -
Leetcode 1215:步进数(超详细的解法!!!)
如果一个整数上的每一位数字与其相邻位上的数字的绝对差都是 1,那么这个数就是一个「步进数」。例如,321 是一个步进数,而 421 不是。给你两个整数,low 和 high,请你找出在 [low, high] 范围内的所有步进数,并返回 排序后 的结果。示例:输入:low = 0, high = 21输出:[0,1,2,3,4,5,6,7,8,9,10,12,21] 提示:0 &...原创 2019-10-07 11:29:59 · 1385 阅读 · 0 评论 -
Leetcode 1143:最长公共子序列(超详细的解法!!!)
给定两个字符串text1和text2,返回这两个字符串的最长公共子序列。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共...原创 2019-10-07 14:53:58 · 4589 阅读 · 1 评论 -
Leetcode 1216:验证回文字符串 III(超详细的解法!!!)
给出一个字符串 s 和一个整数 k,请你帮忙判断这个字符串是不是一个「K 回文」。所谓「K 回文」:如果可以通过从字符串中删去最多 k 个字符将其转换为回文,那么这个字符串就是一个「K 回文」。示例:输入:s = "abcdeca", k = 2输出:true解释:删除字符 “b” 和 “e”。 提示:1 <= s.length <= 1000s 中只含有小写英文字...原创 2019-10-07 18:39:52 · 1510 阅读 · 0 评论 -
Leetcode 1217:玩筹码(超详细的解法!!!)
数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以):将第 i 个筹码向左或者右移动 2 个单位,代价为 0。将第 i 个筹码向左或者右移动 1 个单位,代价为 1。最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价。示例 1:输入:ch...原创 2019-10-10 08:38:58 · 2028 阅读 · 0 评论 -
Leetcode 1218:最长定差子序列(超详细的解法!!!)
给你一个整数数组 arr 和一个整数 difference,请你找出 arr 中所有相邻元素之间的差等于给定 difference 的等差子序列,并返回其中最长的等差子序列的长度。示例 1:输入:arr = [1,2,3,4], difference = 1输出:4解释:最长的等差子序列是 [1,2,3,4]。示例 2:输入:arr = [1,3,5,7], difference =...原创 2019-10-10 09:09:26 · 987 阅读 · 1 评论 -
Leetcode 1219:黄金矿工(超详细的解法!!!)
你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄金数量;如果该单元格是空的,那么就是 0。为了使收益最大化,矿工需要按以下规则来开采黄金:每当矿工进入一个单元,就会收集该单元格中的所有黄金。矿工每次可以从当前位置向上下左右四个方向走。每个单元格只能被开采(进入)一次。不得开采(进...原创 2019-10-10 09:53:23 · 1764 阅读 · 1 评论 -
Leetcode 1220:统计元音字母序列的数目(超详细的解法!!!)
给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串:字符串中的每个字符都应当是小写元音字母('a', 'e', 'i', 'o', 'u')每个元音 'a' 后面都只能跟着 'e'每个元音 'e' 后面只能跟着 'a' 或者是 'i'每个元音 'i' 后面 不能 再跟着另一个 'i'每个元音 'o' 后面只能跟着 'i' 或者是 'u'每个元音 'u'...原创 2019-10-10 14:38:31 · 690 阅读 · 0 评论