![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Leetcode刷题
文章平均质量分 59
Leetcode刷题
202xxx
2017年获得“广东省物流设计大赛”一等奖
2017年获得“电工杯全国数学建模竞赛”二等奖
2017年获得“广东工业大学第7届挑战杯”三等奖
2017年获得“美国大学生数学建模竞赛”H奖
2018年获得“华为软件杯精英挑战赛”粤港澳赛区三等奖
2019年获得“阿里云天池OGeek算法挑战赛”第62名
2021年获得“CSDN人工智能领域新星创作者”
2022年获得“爱奇艺”游戏领域优质创作者
展开
-
【Leetcode刷题】121. 买卖股票的最-佳时机
题目给定一个数组 prices ,它的第i 个元素prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例1输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ..原创 2021-10-28 00:52:28 · 159 阅读 · 1 评论 -
【Leetcode刷题】16. 最接近的三数之和
题目给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示(1)3 <= nums.length <= 10^3(2)-10^3<= nums[i]<= 10^3...原创 2021-09-21 23:35:29 · 217 阅读 · 6 评论 -
【Leetcode刷题】13. 罗马数字转整数
题目罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+...原创 2021-09-19 03:26:05 · 206 阅读 · 11 评论 -
【Leetcode刷题】19. 删除链表的倒数第 N 个结点
题目给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例1输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例2输入:head = [1], n = 1输出:[]示例3输入:head = [1,2], n = 1输出:[1]提示(1)链表中结点的数目为sz(2)1 <= sz <= 30(3)0 <= Node.val <= 10...原创 2021-10-03 20:31:11 · 85 阅读 · 3 评论 -
【Leetcode刷题】3. 无重复字符的最长子串
题目描述给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例3输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 ...原创 2021-09-10 01:15:26 · 887 阅读 · 5 评论 -
【Leetcode刷题】2. 两数相加
题目描述给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例1输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例2输入:l1 = [0], l2 = [0]输出:[0]示例3输入:l1 = [9,...原创 2021-09-09 02:39:58 · 764 阅读 · 14 评论 -
【Leetcode刷题】17. 电话号码的字母组合
题目给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例1输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例2输入:digits = ""输出:[]示例3输入:digits = "2"输出:["a","b","c"]提示(1)0 <= di...原创 2021-09-23 03:31:30 · 211 阅读 · 4 评论 -
【Leetcode刷题】12. 整数转罗马数字
题目罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+I...原创 2021-09-19 02:49:16 · 169 阅读 · 0 评论 -
【Leetcode刷题】10. 正则表达式匹配
题目描述给你一个字符串s和一个字符规律p,请你来实现一个支持'.'和'*'的正则表达式匹配。'.'匹配任意单个字符 '*'匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。示例1输入:s = "aa" p = "a"输出:false解释:"a" 无法匹配 "aa" 整个字符串。示例2输入:s = "aa" p = "a*"输出:true解释:因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的...原创 2021-09-16 03:13:40 · 1281 阅读 · 28 评论 -
【Leetcode刷题】7. 整数反转
题目描述给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[−231,231− 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例1输入:x = 123输出:321示例2输入:x = -123输出:-321示例3输入:x = 120输出:21示例3输入:x = 0输出:0提示(1)-231<= x <= 231- ...原创 2021-09-14 02:05:53 · 316 阅读 · 15 评论 -
【Leetcode刷题】15. 三数之和
题目给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例2输入:nums = []输出:[]示例3输入:nums = [0]输出:[]提示(1)0 <= nums.length <= 30...原创 2021-09-21 01:23:27 · 4850 阅读 · 7 评论 -
【Leetcode刷题】14. 最长公共前缀
题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1输入:strs = ["flower","flow","flight"]输出:"fl"示例2输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示(1)1 <= strs.length <= 200(2)0 <= strs[i].length <= 200(3)strs[i]仅由小写英文..原创 2021-09-20 08:01:10 · 138 阅读 · 5 评论 -
【Leetcode刷题】5. 最长回文子串
题目描述给你一个字符串s,找到s中最长的回文子串。示例1输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例2输入:s = "cbbd"输出:"bb"示例3输入:s = "a"输出:"a"示例4输入:s = "ac"输出:"a"提示(1)1 <= s.length <= 1000(2)s仅由数字和英文字母(大写和/或小写)组成解题思路(1)使用动态规划算法寻找字符串中最长回...原创 2021-09-12 17:22:21 · 976 阅读 · 2 评论 -
【Leetcode刷题】6. Z 字形变换
题目描述将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "PAYPALISHIRING"行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示..原创 2021-09-13 01:25:52 · 165 阅读 · 0 评论 -
【Leetcode刷题】18. 四数之和
题目给你一个由 n 个整数组成的数组nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组[nums[a], nums[b], nums[c], nums[d]] :0 <= a, b, c, d< na、b、c 和 d 互不相同nums[a] + nums[b] + nums[c] + nums[d] == target你可以按 任意顺序 返回答案 。示例1输入:nums = [1,0,-1,0,-2,2], target = 0...原创 2021-09-24 02:35:14 · 4833 阅读 · 8 评论 -
【Leetcode刷题】8. 字符串转换整数 (atoi)
题目描述请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数...原创 2021-09-15 01:57:00 · 314 阅读 · 5 评论 -
【Leetcode刷题】4. 寻找两个正序数组的中位数
题目描述给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。示例1输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例2输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例3输入:nums1 = ...原创 2021-09-11 17:43:16 · 972 阅读 · 3 评论 -
【Leetcode刷题】11. 盛最多水的容器
题目描述给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0) 。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例1输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。...原创 2021-09-16 20:05:31 · 4944 阅读 · 9 评论 -
【Leetcode刷题】20. 有效的括号
题目给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例1输入:s = "()"输出:true示例2输入:s = "()[]{}"输出:true示例3输入:s = "(]"输出:false示例4输入:s = "([)]"输出:false示例5输入:s = "{[]}"输出:true提示(1)&l...原创 2021-10-03 22:22:55 · 242 阅读 · 2 评论 -
【Leetcode刷题】1. 两数之和
题目描述给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例2输入:nums = [3,2,4], t..原创 2021-09-08 02:09:22 · 827 阅读 · 9 评论