
刷题
dianlei
这个作者很懒,什么都没留下…
展开
-
LeetCode01两数之和
想使用Python3对LeetCode上面的题,做一遍试一下。题目描述:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...原创 2018-09-13 18:18:59 · 172 阅读 · 0 评论 -
LeetCode84柱状图中最大的矩形
题目描述:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:输入: [2,1,5,6,2,3]输出: 10解题思路:思路一:这个方法是...原创 2018-10-31 10:58:30 · 4544 阅读 · 0 评论 -
LeetCode85最大矩形
题目描述给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1",&原创 2018-12-14 10:04:17 · 470 阅读 · 0 评论 -
LeetCode97交叉字符串
题目描述给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。示例 1:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出: true示例 2:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"输出: false解题思路关于字符串匹配原创 2018-12-14 21:42:16 · 454 阅读 · 0 评论 -
LeetCode115不同的子序列
问题描述给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是)示例 1:输入: S = "rabbbit", T = "rabbit"输出: 3解释:如下图所示, 有 3 种可以从 ...原创 2018-12-14 21:44:06 · 455 阅读 · 0 评论 -
LeetCode118杨辉三角
题目描述给定一个非负整数 *numRows,*生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]解题思路主要就是总结出计算规律,并注意边界条件即可。代码实现Github地址class Solu...原创 2018-12-14 21:44:43 · 287 阅读 · 0 评论 -
LeetCode153寻找旋转排序数组中的最小值
题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [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,7,0,1,2]输出: 0解题思路这题的核心解题思路就是使用二分查找。当得到...原创 2018-12-27 14:06:08 · 150 阅读 · 0 评论 -
LeetCode154寻找旋转排序数组中的最小值2
题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。注意数组中可能存在重复的元素。示例 1:输入: [1,3,5]输出: 1示例 2:输入: [2,2,2,0,1]输出: 0解题思路这一题和上一题其实区别不大,主要不同就是允许数组中存在重复的元素...原创 2018-12-27 17:06:29 · 201 阅读 · 0 评论 -
LeetCode121-123买股票的最佳时机
**一点想法:**在LeetCode上,买股票的最佳时机是连续的3道题,前两道的思路都比较容易一点,第三题的思路需要站在一个抽象出来的高度来思考,会比较容易一些。我在做这几道题时,陷入了一种错误思路,以为类似的题目,使用一个矩阵记录差值,一定会做出来。然后花一些时间来整理距离矩阵,还没确定好这样的办法能否完成,就使用了大量的时间,最后发现中间思路不对,导致时间的浪费。以后做题的时候,也应该尽量避...原创 2018-12-17 21:41:03 · 179 阅读 · 0 评论 -
LeetCode130被围绕的区域
题目描述给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 'O' 都不会被填...原创 2018-12-18 18:28:26 · 537 阅读 · 0 评论 -
LeetCode72编辑距离
题目描述:给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输出: 3解释: horse -> rorse (将 'h' 替换为 'r')rorse -> r...原创 2018-10-23 16:08:24 · 760 阅读 · 0 评论 -
LeetCode46全排列
题目描述:给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路:这题一看,第一感觉就是使用递归的方法来做。想了一种不使用递归的方法也实现了,下面详细介绍一下这个方法的思路:使用一个队列来存储结果数据,...原创 2018-10-17 15:21:05 · 546 阅读 · 0 评论 -
LeetCode45跳跃游戏二
题目描述:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组...原创 2018-10-17 15:20:20 · 432 阅读 · 0 评论 -
LeetCode02两数相加
题目描述:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807思路:我采用...原创 2018-09-13 18:23:13 · 238 阅读 · 0 评论 -
LeetCode03无重复字符的最长子串
题目描述:给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 无重复字符的最长子串是 "b",其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 无重复字符的最长子串是 "wk.原创 2018-09-13 20:15:00 · 230 阅读 · 0 评论 -
LeetCode04两个排序数组的中位数
题目描述:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 不同时为空。示例 1:nums1 = [1, 3]nums2 = [2]中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]...原创 2018-09-14 16:54:54 · 391 阅读 · 0 评论 -
LeetCode05最长回文子串
题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"感悟:一定要审好题。。。一开始想当然的认为自己理解了什么原创 2018-09-14 16:58:28 · 257 阅读 · 0 评论 -
LeetCode17电话号码的字母组合
题目描述:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上原创 2018-09-25 22:49:32 · 1119 阅读 · 0 评论 -
LeetCode11盛最多水的容器
题目说明:给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。**说明:**你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能...原创 2018-09-21 10:31:16 · 207 阅读 · 0 评论 -
LeetCode15三数之和
题目描述:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 *a,b,c ,*使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。**注意:**答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]解...原创 2018-09-22 18:32:16 · 1525 阅读 · 0 评论 -
LeetCode19删除链表的倒数第N个节点
题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。解题思路:大体想到了两个思路:先说暴力的方法。先遍历一遍链表,可以得知总计有多少的节点。删除倒数第...原创 2018-09-27 22:22:28 · 185 阅读 · 0 评论 -
LeetCode42接雨水
题目描述:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6解题思路:方法1:求能接...原创 2018-10-15 16:24:31 · 879 阅读 · 0 评论 -
LeetCode238除自身以外数组的乘积
题目描述给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明: 请**不要使用除法,**且在 O(n) 时间复杂度内完成此题解题思路本题是一道数组相关的题目。因为不能用除法,只能用乘法,而一...原创 2019-01-09 09:25:47 · 439 阅读 · 0 评论