![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode(算法)
菜菜~
这个作者很懒,什么都没留下…
展开
-
反转整数
题目描述:给定一个32位有符号整数,将整数中的数字进行反转。示例1:输入: 123输出: 321 示例2: 输入: -123输出: -321示例3:输入: 120输出: 21注意:假设我们的环境只能存储32位有符号整数,其数值范围是[-231,231 - 1]。根据这个假设,如果反转后的整数溢出,则返回0。 参考答案:class So...原创 2018-11-03 22:36:14 · 141 阅读 · 0 评论 -
删除元素
题目描述:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 num...原创 2018-11-19 20:28:26 · 152 阅读 · 0 评论 -
实现strStr()
题目描述:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa"...原创 2018-11-20 09:21:19 · 92 阅读 · 0 评论 -
括号生成
题目描述:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]无思路,参考答案中的解释方法一:暴力法思路我们可以生成所有 2^{2n}22n 个 '(' 和 ')' 字符构...转载 2018-11-18 16:52:39 · 126 阅读 · 0 评论 -
在排序数组中查找元素的第一个和最后一个位置
题目描述:给定一个按照升序排列的整数数组nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n)级别。如果数组中不存在目标值,返回 [-1, -1]。示例1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,...原创 2018-12-13 20:31:03 · 315 阅读 · 0 评论 -
求最长的回文子串
动态规划法 def longestPalindrome(s): k = len(s) matrix = [[0 for i in range(k)] for i in range(k)] logestSubStr = "" logestLen = 0 for j in range(0, k): for i in range(0, j...原创 2019-02-23 11:47:02 · 93 阅读 · 0 评论 -
字符串转换成整数
class Solution: def myAtoi(self, str): if len(str) == 0: return 0 s = list(str.strip()) sign = 1 i = 0 dig = 0 if s[0] == '-': ...原创 2019-02-25 14:51:14 · 111 阅读 · 0 评论 -
最长公共前缀
题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。原创 2019-02-27 09:10:55 · 200 阅读 · 0 评论 -
合并两个有序链表
题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4class ListNode: def __init__(self, x): self.val = x ...原创 2019-02-27 10:40:58 · 88 阅读 · 0 评论 -
爬楼梯
题目描述假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 ...原创 2019-03-20 21:38:42 · 134 阅读 · 0 评论 -
有效的括号
题目描述:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: f...原创 2018-11-16 20:36:38 · 87 阅读 · 0 评论 -
删除排序数组中的重复项
题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。...原创 2018-11-18 19:23:39 · 76 阅读 · 0 评论 -
最接近的三数之和
题目描述:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).class Solut...原创 2018-11-09 14:25:16 · 78 阅读 · 0 评论 -
整数转罗马数字
题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为...原创 2018-11-06 22:19:53 · 138 阅读 · 0 评论 -
无重复字符的最长子串
题目描述:给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb" 输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb" 输出: 1 解释: 无重复字符的最长子串是 "b",其长度为 1。示例 3:输入: "pwwkew" 输出: 3 解释: 无重复字符的最长子串是 "wke",其长度为 3原创 2018-11-02 10:41:27 · 88 阅读 · 0 评论 -
回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...原创 2018-11-04 14:48:32 · 130 阅读 · 0 评论 -
两个排序数组的中位数
题目描述:给定两个大小为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-11-02 20:30:11 · 108 阅读 · 0 评论 -
盛最多水的容器
题目描述:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。暴力法:遍历所有的可能,容易溢出class Solution: ...原创 2018-11-05 21:34:09 · 110 阅读 · 0 评论 -
三数之和
题目描述:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c,使得 a + b + c = 0?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]...原创 2018-11-08 09:33:48 · 94 阅读 · 0 评论 -
4数之和and N数之和
4数之和题目描述:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, ...原创 2018-11-15 21:26:17 · 379 阅读 · 0 评论 -
电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].python版参原创 2018-11-14 15:50:41 · 688 阅读 · 0 评论 -
字符串相乘
题目描述:定给两个以字符串形式表示的非负整数num1状语从句:num2,报道查看num1状语从句:num2的乘积,它们的乘积也表示为字符串形式。示例1:输入: num1 =“2”,num2 =“3” 输出: “6”示例2:输入: num1 =“123”,num2 =“456” 输出: “56088”说明:num1状语从句:num2的...原创 2019-03-21 10:40:22 · 118 阅读 · 0 评论