LeetCode练习题
文章平均质量分 59
关于LeetCode的练习题
流光焰
在学习的路上渐行渐远
展开
-
LeetCode 46题:全排列
给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以返回答案。原创 2023-09-04 12:06:25 · 236 阅读 · 0 评论 -
LeetCode 44题:通配符匹配
给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持和'*''*'判定匹配成功的充要条件是:字符模式必须能够输入字符串(而不是部分匹配)。false"a" 无法匹配 "aa" 整个字符串。true'*' 可以匹配任意字符串。a"false' 可以匹配 'c', 但第二个 'a' 无法匹配 'b'。p'*'原创 2023-08-29 22:06:46 · 483 阅读 · 0 评论 -
LeetCode 45题:跳跃游戏
给定一个长度为n的整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意i + j < n返回到达的最小跳跃次数。生成的测试用例可以到达。2跳到最后一个位置的最小跳跃数是2。从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步到达数组的最后一个位置。2nums[n-1]原创 2023-09-02 19:41:10 · 599 阅读 · 0 评论 -
LeetCode 43题:字符串相乘
给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。不能使用任何内置的 BigInteger 库或直接将输入转换为整数。原创 2023-08-26 14:20:03 · 396 阅读 · 0 评论 -
LeetCode 42题:接雨水
给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。6上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。9。原创 2023-08-20 16:53:15 · 249 阅读 · 0 评论 -
LeetCode 39题:组合总和
链接:https://leetcode.cn/problems/combination-sum/solutions/406516/zu-he-zong-he-by-leetcode-solution/尝试用「搜索回溯」的方法来解决。当然,搜索回溯的过程一定存在一些优秀的剪枝方法来使得程序运行得更快,而这里只给出了最朴素不含剪枝的写法。中的每个数字在每个组合中只能使用。来源:力扣(LeetCode)给定一个候选人编号的集合。解集不能包含重复的组合。中所有可以使数字和为。原创 2023-08-17 22:55:42 · 284 阅读 · 1 评论 -
LeetCode 41题:缺失的第一个正数
根据题目分析,我们只需要考虑在 [ 1,numsize ]范围内的数据,如果数据都不在该范围内,则应该返回 1。构建哈希表的哈希方法是:该范围内数的地址 = 数值减一,然后将该地址标记,标记方法为取负,在此之前,需要将所有小于等于0的数换为 numsize+1。标记之后遍历数组,出现的第一个正数的下标加1便是结果。想要实现题目要求的时空限制,可以利用哈希表。,请你找出其中没有出现的最小的正整数。并且只使用常数级别额外空间的解决方案。给你一个未排序的整数数组。请你实现时间复杂度为。原创 2023-08-19 13:53:19 · 261 阅读 · 0 评论 -
LeetCode 40题:组合总和2
给定一个候选人编号的集合candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用。解集不能包含重复的组合。原创 2023-08-18 18:49:50 · 185 阅读 · 0 评论 -
LeetCode 38题:外观数列
给定一个正整数n,输出外观数列的第n项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 21第一项是数字 1描述前一项,这个数是1即 “ 一 个 1 ”,记作"11"描述前一项,这个数是11即 “ 二 个 1 ” ,记作"21"描述前一项,这个数是21即 “ 一 个 2 + 一 个 1 ” ,记作 "1211"描述前一项,这个数是1211。原创 2023-08-15 12:29:50 · 160 阅读 · 0 评论 -
LeetCode 37题:解数独
编写一个程序,通过填充空格来解决数独问题。数独的解法需1-91-91-93x3数独部分空格内已填入了数字,空白格用'.'表示。输入的数独如上图所示,唯一有效的解决方案如下所示:'.'原创 2023-08-14 22:40:58 · 376 阅读 · 0 评论 -
LeetCode 35题:搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(log n)的算法。214。原创 2023-08-13 09:55:21 · 272 阅读 · 0 评论 -
LeetCode 36题:有效的数独
请你判断一个9 x 9的数独是否有效。只需要,验证已经填入的数字是否有效即可。1-91-91-93x3'.'board =trueboard =false除了第一行的第一个数字从改为以外,空格内其他数字均与 示例1 相同。但由于位于左上角的 3x3 宫内有两个 8 存在, 因此这个数独是无效的。1-9'.'原创 2023-08-13 16:28:57 · 255 阅读 · 0 评论 -
LeetCode 31题:下一个排列
一串数字排列的下一个排序找法是:从末尾开始找第一次出现nums[ i ] >nums[ i-1 ] 的位置,在 i -1之前的数字排序不变,在 i -1之后寻找大于nums[ i-1 ]的最小值,找到后与nums[ i-1 ]交换。交换后,i - 1之后的数字按非递减排序即可。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的。原创 2023-08-10 10:18:36 · 709 阅读 · 0 评论 -
LeetCode 34题:在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。原创 2023-08-12 20:06:58 · 216 阅读 · 0 评论 -
LeetCode 32题:最长有效括号
给你一个只包含'('和')'的字符串,找出最长有效(格式正确且连续)括号子串的长度。s = "(()"2最长有效括号子串是 "()"4最长有效括号子串是 "()()"s = ""0'('')'原创 2023-08-10 17:28:03 · 279 阅读 · 0 评论 -
LeetCode 33题:搜索旋转排序数组
理解为什么暴力解法的数据不算差。考虑时间复杂度可以利用二分法查找。,则返回它的下标,否则返回。你必须设计一个时间复杂度为。按升序排列,数组中的值。在预先未知的某个下标。不考虑要求时间复杂度为。原创 2023-08-11 11:35:17 · 673 阅读 · 0 评论 -
LeetCode的常见问题报错积累
本篇是用来积累在LeetCode中出现的问题以及解决问题的文章。原创 2023-07-25 15:58:51 · 1255 阅读 · 0 评论 -
LeetCode 30题:串联所有单词的子串
这道题用C语言来写比较难,写了很久发现写错了,于是我开始尝试了Python。在借鉴了作者:powcai链接:https://leetcode.cn/problems/substring-with-concatenation-of-all-words/solutions/3825/chuan-lian-suo-you-dan-ci-de-zi-chuan-by-powcai/来源:力扣的写法后,自己明白了如何来写。原创 2023-08-08 23:00:31 · 171 阅读 · 0 评论 -
LeetCode 28题:找出字符串中第一个匹配项的下标
给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从 0 开始)。如果needle不是haystack的一部分,则返回-1。0"sad" 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0。-1"leeto" 没有在 "leetcode" 中出现,所以返回 -1。needle。原创 2023-08-05 20:54:17 · 335 阅读 · 0 评论 -
LeetCode 29题:两数相除
给你两个整数,被除数dividend和除数divisor。将两数相除,要求乘法、除法和取余运算。整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345将被截断为8-2.7335将被截断至-2。返回被除数dividend除以除数divisor得到的。假设我们的环境只能存储有符号整数,其数值范围是。本题中,如果商231 − 1,则返回231 − 1;如果商-231,则返回-231。310/3 = 3.33333.. ,向零截断后得到 3。-2。原创 2023-08-07 17:38:10 · 301 阅读 · 0 评论 -
LeetCode 14题:多个字符串最长公共前缀——python
从第一个字符比较每个字符串,出现一个不同,即停止比较,并输出。原创 2023-07-18 23:34:29 · 195 阅读 · 1 评论 -
LeetCode 13题: 罗马数字转整数
关于罗马数字转化为整数,可以建立起罗马数字与其代表值之间的一一对应关系,方便处理数据,进行相加以上就是今天要讲的内容,本文提供了两个解法,如有其他优秀的解法,还请指教哦。原创 2023-07-16 18:15:42 · 63 阅读 · 1 评论 -
LeetCode 15题:数字序列三数之和为0——Python与C语言
要自己不断思考,然后学习别人的想法与思维,这样可以认识到自己的不足,也能让自己获得一些额外知识。原创 2023-07-20 10:14:30 · 629 阅读 · 0 评论 -
LeetCode 20题:有效的括号
以上就是今天要讲的内容,还是比较简单的。原创 2023-07-27 17:48:41 · 37 阅读 · 1 评论 -
LeetCode 21题:合并两个有序列表——C语言
以上就是今天要讲的内容,这一题还是比较简单的,可能会遇到编写上的错误,思路容易想到。原创 2023-07-27 22:12:26 · 388 阅读 · 1 评论 -
LeetCode 16题:最接近的三数之和——C语言与Python语言
以上就是今天要讲的内容,加油。原创 2023-07-21 17:53:56 · 354 阅读 · 1 评论 -
LeetCode 17题:电话号码的字母组合——C语言与Python
以上就是今天要讲的内容,加油练习吧。原创 2023-07-25 17:28:10 · 168 阅读 · 0 评论 -
LeetCode 18题:四数之和——C语言和Python
与三数之和的思路一致,本篇提供Python与C语言的解法以上就是今天要讲的内容,本文仅仅简单的提供两种解法。原创 2023-07-26 17:41:48 · 163 阅读 · 1 评论 -
LeetCode 24题:两两交换链表中的节点
以上就是今天要讲的内容。原创 2023-07-31 18:02:35 · 40 阅读 · 0 评论 -
LeetCode 19题:删除链表倒数第n个节点
以上就是今天要讲的内容,继续练习吧。原创 2023-07-27 10:43:39 · 32 阅读 · 1 评论 -
LeetCode 22题:括号生成——C语言和Python
以上就是今天要讲的内容,继续练习。原创 2023-07-29 18:37:09 · 264 阅读 · 0 评论 -
LeetCode 23题:合并K个升序链表——C语言
以上就是今天要讲的内容,继续练习。原创 2023-07-30 15:28:46 · 181 阅读 · 0 评论 -
LeetCode 26 题:删除有序数组的重复项
在写这一个问题时,我遇到了一些问题,如在上述函数中,如果写那么函数结束时,nums并未发生改变。泰裤辣欢迎查看我写的python在函数中更改外部变量值以及Python中实现多个列表、字典、元组、集合的连接。原创 2023-08-04 15:03:12 · 186 阅读 · 0 评论 -
LeetCode 25题:K个一组翻转链表
给你链表的头节点head,每k个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。原创 2023-08-03 20:08:37 · 276 阅读 · 0 评论 -
LeetCode 27题:移除元素
给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://是以“引用”方式传递的。也就是说,不对实参作任何拷贝// 在函数里修改输入数组对于调用者是可见的。原创 2023-08-04 18:07:59 · 245 阅读 · 0 评论