![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
还没想好116
这个作者很懒,什么都没留下…
展开
-
19、删除链表的倒数第N个节点(python)
题目:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.代码(快慢双指针)# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self原创 2020-06-08 16:03:42 · 154 阅读 · 1 评论 -
15、三数之和(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 Solution: def threeSum(self, nums):原创 2020-06-03 17:08:55 · 601 阅读 · 0 评论 -
11、盛最多水的容器(python)
题目:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49代码(双指针):class Solution: def maxArea(self, heigh): l = 0原创 2020-06-03 16:15:28 · 256 阅读 · 0 评论 -
5、最长回文子串(python)
题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。输入: "cbbd"输出: "bb"代码:class Solution: def longestPalindrome(self, s): n = len(s) # 字符串长度 dp = [[False]*n for _ in range(n)]原创 2020-06-02 23:20:15 · 318 阅读 · 0 评论 -
3、无重复字符的最长子串(python)
题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。代码:class Solution: def lengthOfLongestSubstring(self, s): mapping = set() # 定义哈希集合,记录字符原创 2020-06-02 16:50:36 · 590 阅读 · 0 评论 -
2、两数相加(python)
题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807代码# class ListNode:# de原创 2020-05-31 19:26:49 · 460 阅读 · 0 评论 -
169、多数元素(python)
题目:多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。例子:输入: [3,2,3]输出: 3输入: [2,2,1,1,1,2,2]输出: 2思路:用哈希法;代码:class Solution: def majorityElement(sel...原创 2019-12-04 16:23:38 · 1316 阅读 · 0 评论 -
122、买卖股票的最佳时机II(python)
题目:买卖股票的最佳时机II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。例子:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5...原创 2019-12-04 15:32:00 · 563 阅读 · 0 评论 -
121、买卖股票的最佳时机(python)
题目:买卖股票的最佳时机:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。直接看例子,就知道什么意思:例子:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的...原创 2019-12-04 15:07:30 · 215 阅读 · 0 评论 -
42、最大子序和(python)
class Solution: def FindGreatestSumOfSubArray(self, array): # write code here maxnum = None tmpnum = 0 for i in array: if maxnum == None: ...原创 2019-10-17 19:22:19 · 121 阅读 · 0 评论 -
268、缺失数字(python)
文章目录题目:例子:思路:举例说说思路:代码:复杂度:题目:给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。例子:示例1:输入: [3,0,1]输出: 2示例2:输入: [9,6,4,2,3,5,7,0,1]输出: 8思路:采用位运算:异或运算(XOR):相同的数异或后是0,不同的数异或后是1异或运算...原创 2019-12-04 10:59:38 · 427 阅读 · 0 评论 -
283、移动零(python)
题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。例子:输入: [0,1,0,3,12]输出: [1,3,12,0,0]代码:class Solution: def moveZeroes(self, nums) p = 0 for i in range(len(nu...原创 2019-12-03 22:39:23 · 208 阅读 · 0 评论 -
LeetCode_88、合并两个数组(python)
题目:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n。假设 nums1 有足够的空间来保存 nums2 中的元素。例子:输入:nums1 = [1,2,3], m = 3nums2 = [2,5,6], n = ...原创 2019-12-03 20:49:31 · 193 阅读 · 0 评论 -
118、杨辉三角(python)
题目:例子:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]思想:采用动态规划思想,每一层的元素需要上一层的元素每行的两端都是1每行的元素是:R[i][j] = R[i-1][j-1] + R[i-1][j]代码:class Solution: def generate(...原创 2019-12-02 22:22:59 · 200 阅读 · 0 评论 -
66、加一(python)
题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。例如:示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 43...原创 2019-12-02 21:03:17 · 526 阅读 · 0 评论 -
LeetCode_859_python_亲密字符串
题目要求给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。示例:示例1输入: A = "ab", B = "ba"输出: true示例2输入: A = "ab", B = "ab"输出: false示例3输入: A = "aa", B = "aa"输出: true...原创 2019-07-08 11:28:41 · 216 阅读 · 0 评论 -
LeetCode_151_python_翻转字符串里的单词
题目描述给定一个字符串,逐个翻转字符串中的每个单词。示例:输入: "the sky is blue"输出: "blue is sky the"输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。输入: "a good example"输出: "exam...原创 2019-07-09 15:38:05 · 171 阅读 · 0 评论 -
LeetCode_14_python_最长公共前缀
题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例1输入: ["flower","flow","flight"]输出: "fl"示例1输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。则输出空串相关函数zip()函数:zip函数时Python的一个内置函数,可以将不同可迭代对...原创 2019-07-11 14:57:48 · 116 阅读 · 0 评论 -
1、两数之和(python)
题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。注意输入的数组中只有唯一的一组值符合要求** 不能利用数组中相同的元素**...原创 2019-07-11 16:58:38 · 198 阅读 · 0 评论 -
快排-Python实现
def quick_sort(data):“”“快速排序”""if len(data) >= 2: # 递归入口及出口mid = data[len(data)//2] # 选取基准值,也可以选取第一个或最后一个元素left, right = [], [] # 定义基准值左右两侧的列表data.remove(mid) # 从原始数组中移除基准值for num in data...原创 2019-08-19 23:17:21 · 337 阅读 · 0 评论 -
冒泡排序_Python实现
冒泡排序是最基础的排序算法什么是冒泡排序??冒泡排序是一种基础的交换排序。冒泡、冒泡就像水中的气泡一样,不断的往上漂浮,而冒泡算法之所以叫冒泡算法,正是因为这种算法的每一个元素都可以像小气泡一样,一点一点的向数组的一端移动。冒泡排序的详细过程**我们把相邻的元素两两比较,当一个元素大于右侧相邻元素时,交换它们的位置;当一个元素小于或等于右侧相邻的元素时,则位置不变。**详细过程如下:...原创 2019-08-15 17:02:13 · 147 阅读 · 0 评论 -
二分查找递归、非递归实现(Python)
二分查找二分查找中,会不断将一个有序数组折半,大幅缩小查询的范围,直到找到目标元素的位置。优缺点优点:元素比较次数少,查找速度快,稳定性好缺点:要查询的数组必须是有序数组代码实现(非递归)# 二分查找def binary_search(array,x): ''' array: 目标数组(必须有序) x: 要查询的元素 ''' left...原创 2019-10-10 16:38:26 · 213 阅读 · 0 评论 -
LeetCode_125_Python_验证回文串
回文串对一个字符串而言,从前往后读和从后往前读是一样的。这样的字符串成为回文串,注意,空字符串也是回文串。题目要求给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。__说明:__本题中,我们将空字符串定义为有效的回文串。题目分析根据题目要求,由于字符串中存在一些特殊符号,比如逗号、冒号等,在确认是否是回文串的过程中,这些特殊符号需要去除, 否则无法确认...原创 2019-07-07 18:05:26 · 388 阅读 · 0 评论