
leetcode解题
自己做过的leetcode合集,想想还是整理个文档以后好看。
馒头饺子
别向后看,后面没有明天
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode 6. Z 字形变换 Python
目录题目解题思路Python实现题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”,地址。示...转载 2019-11-07 22:46:36 · 277 阅读 · 0 评论 -
leetcode 7. 整数反转 Python
分类题目解题思路Python实现题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转,地址。示例:输入: 123输出: 321解题思路python3取模跟c++不同,python3是向下取整:−21%10=9-21\%10 = 9−21%10=9,所以要先转化成整数再取整。注意边界值溢出问题Python实现class Solution: de...原创 2019-11-05 23:53:47 · 211 阅读 · 0 评论 -
leetcode 714. 买卖股票的最佳时机含手续费 Python
分类题目解题思路Python实现题目给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每次交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值,地址。示例:输入: prices = [1, 3, 2, 8, 4, 9], fee =...原创 2019-09-17 11:05:51 · 259 阅读 · 0 评论 -
leetcode 139. 单词拆分 Python
分类题目解题思路Python实现题目给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词,地址。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例1输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 tr...原创 2019-09-19 14:37:17 · 193 阅读 · 0 评论 -
leetcode 1. 两数之和 Python
分类题目解题思路Python实现题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素,地址。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9...原创 2019-09-20 13:55:07 · 165 阅读 · 0 评论 -
leetcode 2. 两数相加 Python
分类题目解题思路Python实现题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头,地址。解题思路先将链表转化为数组,然后对数组从后往前取将其变成一个int,将int相加的结果...原创 2019-09-21 11:56:41 · 197 阅读 · 0 评论 -
leetcode 3. 无重复字符的最长子串 Python
分类题目解题思路Python实现题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度,地址。示例1输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。解题思路本题可采用滑动窗口,先设置变量start和en...原创 2019-10-01 12:56:49 · 386 阅读 · 0 评论 -
leetcode 11. 盛最多水的容器 Python
分类题目解题思路Python实现题目给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水,地址。示例:输入: [1,8,6,2,5,4,8,3,7]输出: 49解题思路双指针问题:采用暴力法即...原创 2019-10-02 13:10:41 · 215 阅读 · 0 评论 -
leetcode 15. 三数之和 Python
分类题目解题思路Python实现题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组,地址。示例:例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], ...原创 2019-10-03 13:18:21 · 193 阅读 · 0 评论 -
leetcode 53. 最大子序和 Python
分类题目解题思路Python实现题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和,地址。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解题思路动态规划,分成2种情况考虑:加上当前的数结果小于0,则可以都舍弃并把当前的值与记录的最大值比较...原创 2019-10-05 12:36:39 · 272 阅读 · 0 评论 -
leetcode 188. 买卖股票的最佳时机 IV Python
分类题目解题思路Python实现题目给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票),地址。示例1:输入: [2,4,1], k = 2输出: 2解释: 在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 ...原创 2019-09-16 14:29:06 · 490 阅读 · 0 评论 -
leetcode 901. 股票价格跨度 Python
文章目录题目解题思路Python实现题目编写一个 StockSpanner 类,它收集某些股票的每日报价,并返回该股票当日价格的跨度。今天股票价格的跨度被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。例如,如果未来7天股票的价格是 [100, 80, 60, 70, 60, 75, 85],那么股票跨度将是 [1, 1, 1, 2, 1, 4, 6]。地址。...原创 2019-09-15 21:49:57 · 333 阅读 · 0 评论 -
leetcode 812.最大三角形面积 Python
分类题目思路Python实现题目给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2地址思路已知三个点坐标可以通过坐标公式求三角形面积:将其表示为行列式再进行计算,具体可参考所以面积公式为s=(x1∗y2+x2∗y3+x3∗y1−x1∗y3−x2∗y...原创 2019-09-04 11:08:35 · 436 阅读 · 0 评论 -
leetcode136. 只出现一次的数字 Python
分类题目解题思路Python实现题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素,地址。示例1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4解题思路除了只出现一次的元素,其他元素都只出现2次,所以可以先排序,每次检索当前元素和后一个元素是否相等,如果相等则步进2步继续检索,直到最后...原创 2019-09-04 13:40:53 · 146 阅读 · 0 评论 -
leetcode 121. 买卖股票的最佳时机 Python
分类题目解题思路Python实现题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票,地址。输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = ...原创 2019-09-05 13:54:50 · 156 阅读 · 0 评论 -
leetcode 5. 最长回文子串 Python
分类题目解题思路动态规划Python实现题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。输入: "cbbd"输出: "bb"解题思路动态规划定义“状态”找到“状态转移方程”如果子串只有一个则该子串就是回文子串如果是2个以上,检查当前...原创 2019-09-06 15:55:34 · 214 阅读 · 0 评论 -
leetcode 200. 岛屿数量 Python
分类题目解题思路广度优先搜索(BFS)Python实现题目给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围,地址。示例1输入:11110110101100000000输出: 1示例2输入:11000110000010000011输出...原创 2019-09-07 14:41:40 · 585 阅读 · 0 评论 -
leetcode 674. 最长连续递增序列 Python
分类题目解题思路Python实现题目给定一个未经排序的整数数组,找到最长且连续的的递增序列,地址。输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。 解题思路这个题还是挺简单的,比较是否递增并记录个数,当不递增的情况下把个数置空,最后比较个数...原创 2019-09-08 16:29:57 · 338 阅读 · 0 评论 -
leetcode 122. 买卖股票的最佳时机 II Python
分类题目解题思路Python实现题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票),地址。输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 =...原创 2019-09-10 14:51:06 · 164 阅读 · 0 评论 -
leetcode 309. 最佳买卖股票时机含冷冻期 Python
分类题目解题思路Python实现题目给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票),地址:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。输入: [1,2,3,0,2]输出: 3 解释: 对...原创 2019-09-11 14:50:13 · 318 阅读 · 0 评论 -
leetcode 123. 买卖股票的最佳时机 III Python
分类题目解题思路Python实现题目给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票),地址。示例:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 =...原创 2019-09-12 11:38:34 · 356 阅读 · 0 评论 -
leetcode 38.报数 Python
分类题目解题思路Python实现题目报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 111221地址解题思路看当前字母是否和后一个字母相等,如果相等则记录当前count,否则前进后一次比较,这样进行n次Python实现class Solution:...原创 2019-09-03 15:48:59 · 390 阅读 · 0 评论