Leetcode
华软小白
这个作者很懒,什么都没留下…
展开
-
【Leetcode】Python实现两个排序数组的中位数
当两个数组合并后的总元素长度是奇数时,中位数的下标是n/2。 当两个数组合并后的总元素个数是偶数时,中位数是下标n/2-1和下标n/2两个元素的平均值。 所以不论总长度的奇偶性,可以将n/2作为右中位数,n/2-1作为左中位数,当总长度是奇数时,不使用左中位数。但是必须要找到第n/2+1个元素。class Solution(object): def findMedianSorted...原创 2018-05-21 17:17:42 · 2470 阅读 · 2 评论 -
【Leetcode】Python实现三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]class Sol...原创 2018-06-01 21:57:47 · 9120 阅读 · 12 评论 -
【Leetcode】Python实现最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car&quo原创 2018-06-01 20:06:46 · 4775 阅读 · 0 评论 -
【Leetcode】Python实现四数之和
给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集...原创 2018-06-22 14:32:40 · 2520 阅读 · 0 评论 -
【Leetcode】Python实现整数与罗马数字的相互转换
整数转罗马数class Solution(object): def intToRoman(self, num): """ :type num: int :rtype: str """ if num > 3999 or num < 1: return 0 ...原创 2018-05-30 21:54:06 · 3539 阅读 · 1 评论 -
【Leetcode】Python实现盛最多水的容器
给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。注意:你不能倾斜容器,n 至少是2。分析题意,为和y轴平行的直线,主要在两者下标为宽,直线ai为高,两者相乘求最大面积,使用逼近法class So...原创 2018-05-29 21:51:44 · 2732 阅读 · 0 评论 -
【Leetcode】Mysql分数排名
编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。+----+-------+| Id | Score |+----+-------+| 1 | 3.50 || 2 | 3.65 || 3 | 4.00 || 4 | 3.85 || 5...原创 2018-05-16 21:16:59 · 4894 阅读 · 2 评论 -
【Leetcode】Mysql查询第N高的薪水
编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200。如果...原创 2018-05-16 20:18:27 · 5221 阅读 · 3 评论 -
【Leetcode】Python实现正则表达式匹配
给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符。 ‘*’ 匹配零个或多个前面的元素。 匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = "a...原创 2018-05-27 19:43:53 · 3952 阅读 · 2 评论 -
【Leetcode】Python实现Z字形变换
Z字形变换题意解释:比如有一个字符串 “0123456789ABCDEF”,转为zigzag当 n = 2 时:0 2 4 6 8 A C E1 3 5 7 9 B D F当 n = 4 时:0 6 C1 5 7 B D2 4 8 A E3 9 F解题思路:这道题就是看坐标的变化。并且需...原创 2018-05-22 21:56:23 · 3405 阅读 · 1 评论 -
【Leetcode】Python实现无重复字符的最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串。class Solution(object):...原创 2018-05-16 19:18:07 · 13310 阅读 · 2 评论 -
【Leetcode】Python实现两数相加(附上测试链表)
给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807class ListNode(ob...原创 2018-05-16 17:07:40 · 4495 阅读 · 2 评论 -
【Leetcode】Python实现回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回...原创 2018-05-27 15:08:19 · 9031 阅读 · 0 评论 -
【Leetcode】Python实现电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明: 尽管原创 2018-06-03 10:09:33 · 4887 阅读 · 3 评论 -
【Leetcode】Python实现两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]这里也可以使用enumerate(),会更方便;class Solution(obje...原创 2018-05-16 13:30:09 · 2142 阅读 · 0 评论 -
【Leetcode】Python实现字符串转整数 (atoi)
实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第一个非空字...原创 2018-05-26 21:39:44 · 7080 阅读 · 0 评论 -
【Leetcode】Python实现反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。class Solut...原创 2018-05-26 20:17:34 · 15123 阅读 · 2 评论 -
【Leetcode】Python实现最长回文子串
动态规划实现根据回文的特性,一个大回文按比例缩小后的字符串也必定是回文,比如ABCCBA,那BCCB肯定也是回文。所以我们可以根据动态规划的两个特点: (1)把大问题拆解为小问题 (2)重复利用之前的计算结果 这道题。如何划分小问题,我们可以先把所有长度最短为1的子字符串计算出来,根据起始位置从左向右,这些必定是回文。然后计算所有长度为2的子字符串,再根据起始位置从左向右。到长度为3的时...原创 2018-05-21 18:21:53 · 10004 阅读 · 9 评论 -
【Leetcode】Python实现最接近的三数之和
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).本题和三数之和有点类似,分析和解释说...原创 2018-06-02 09:07:44 · 2172 阅读 · 3 评论