leetcode 刷题
文章平均质量分 51
主要是以leetcode刷题为主,使用python方法来解决问题
qq_24429333
这个作者很懒,什么都没留下…
展开
-
leetcode --刷题--腾讯50题
题目1–最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。其中f(i,j)表示当s[i:j]子串是否是回文串。当j-i<=1时,如果s[i] == s[j]则表示s[i:j]为回文串,及f(i,j) = true,否则f(i,j) = false。当j-i > 1时,则判断 s[i]、s[j]是否相等以及f(i+1, j-1)是否为...原创 2021-06-02 16:33:33 · 155 阅读 · 0 评论 -
剑指offer(python)-题目31-整数1中出现的次数
题目描述求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。思路1:将1~n的所有数字转化成str然后把所有的str合成一个str找出这...原创 2021-06-02 16:32:15 · 125 阅读 · 0 评论 -
leetcode 刷题(python)--1. Pattern: Sliding window,滑动窗口类型
1. Pattern: Sliding window,滑动窗口类型滑动窗口类型的题目经常是用来执行数组或是链表上某个区间(窗口)上的操作。比如找最长的全为1的子数组长度。滑动窗口一般从第一个元素开始,一直往右边一个一个元素挪动。当然了,根据题目要求,我们可能有固定窗口大小的情况,也有窗口的大小变化的情况。该图中,我们的窗子不断往右一格一个移动下面是一些我们用来判断我们可能需要上滑动窗口策略...原创 2021-06-02 16:31:58 · 367 阅读 · 2 评论 -
leetcode-热题100 (python)版本
以下列出面试高频出现,以及一些非常经典重要的算法题:数组array类题号难度题目链接答案详解备注1简单两数之和详解无53简单最大子序和详解动态规划,分治法121简单[买卖股票题解无581简单最短无序连续子数组题解11中等盛最多水的容器题解无100中等三数之和题解无31中等下一个排列...原创 2021-06-02 16:31:29 · 603 阅读 · 0 评论 -
leetcode热题100-搜索旋转排序数组
33. 搜索旋转排序数组题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。题解class Solution...原创 2020-03-27 16:59:01 · 147 阅读 · 0 评论 -
leetcode热题100-31. 下一个排列
31. 下一个排列实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。解题思路1.从右至左遍历·nums,发现第一个小于右边的数nums[i],将该nums[i]之后的数排升序;2.第二层遍...原创 2020-03-27 16:53:43 · 205 阅读 · 0 评论 -
leetcode热题100-15. 三数之和
15. 三数之和题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。题解class Solution: def threeSum(self, nums: List[int]) -> List[List[int]...原创 2020-03-27 16:44:40 · 239 阅读 · 0 评论 -
leetcode热题100-11. 盛最多水的容器
11. 盛最多水的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。题解方法1:以首末两点为起点,计算所经过的面积,较短的那一根向内侧移动,...原创 2020-03-27 16:31:18 · 384 阅读 · 0 评论 -
leetcode热题100-581. 最短无序连续子数组
581. 最短无序连续子数组题目描述给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。题解升序排列数组存入目标数组targ;将原始数组nums和目标数组targ比对;将首尾相同的元素删掉,直到有不同;记住首尾不同元素的位置,切片即可。def findUnsortedSuba...原创 2020-03-27 16:16:47 · 151 阅读 · 0 评论 -
leetcode热题100-121. 买卖股票的最佳时机
121. 买卖股票的最佳时机题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。题解1.方法:暴力法我们需要找出给定数组中两个数字之间的最大差值(即,最大利润)。此外,第二个数字(卖出价格)必须大于第一个数字(买入价格)。形...原创 2020-03-27 15:59:09 · 198 阅读 · 0 评论 -
leetcode热题100--最大子序和
53. 最大子序和题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:题解**1.方法动态规划> 第 1 步:定义状态既然一个连续子数组一定要以一个数作为结尾,那么我们就将状态定义成如下。dp[i]:表示以 nums[i] 结尾的连续子数组的最大和。第 2 步:思考状态转移方程根据状态的定义,由于 nu...原创 2020-03-27 15:43:42 · 208 阅读 · 0 评论 -
leetcode 热题100--11-两数之和
题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。求解1. 方法:暴力求解法思路:内层循环从数组中取出下标为 i 的元素 num[i] ,内层循环取出 i 之后的元素 nums[j] 一一与 下标为 i的元素进行相加操...原创 2020-03-27 14:41:38 · 250 阅读 · 0 评论