![](https://img-blog.csdnimg.cn/25a61879b32a4a6fab0019ae9b334d0a.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeeCode——初级算法
LeeCode——初级算法
GH0602
这个作者很懒,什么都没留下…
展开
-
8. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。原创 2022-12-01 17:15:52 · 180 阅读 · 1 评论 -
20. 删除链表中的节点
题目:请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。题目数据保证需要删除的节点 不是末尾节点 。示例 1:输入:head = [4,5,1,9], node = 5 输出:[4,1,9] 解释:指定链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9示例 2:输入:head = [4,5,1,9], node = 1 输出:[4,5,9]..原创 2022-05-09 17:06:16 · 124 阅读 · 0 评论 -
19. 最长公共前缀
题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例 1:输入:strs = ["flower","flow","flight"] 输出:"fl"示例 2:输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。 提示:1 <= strs.length <= 200 0 <= strs[i].length <= 200 strs[i] 仅由小写英文字母组成..原创 2022-05-08 14:44:34 · 201 阅读 · 0 评论 -
18. 外观数列
题目:给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = "1" countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:1. 1 2. 11 3. 21 4. 1211 5. 111221 第一项是数字 1 描述前一项,这个...原创 2022-05-07 11:12:06 · 96 阅读 · 0 评论 -
17. 实现strStr()
题目:实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。示例 1:输入:haystack =原创 2022-05-06 10:29:37 · 60 阅读 · 0 评论 -
16. 字符串转换整数 (atoi)
题目:请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。 将前面步骤读入的这些数字转换为整数(即...原创 2022-05-05 13:40:56 · 114 阅读 · 0 评论 -
15. 验证回文串
题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama" 输出: true 解释:"amanaplanacanalpanama" 是回文串示例 2:输入: "race a car" 输出: false 解释:"raceacar" 不是回文串提示:1 <= s.length <= 2 * 105 字符串 s原创 2022-05-05 10:33:52 · 140 阅读 · 0 评论 -
14. 有效的字母异位词
题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = "anagram", t = "nagaram" 输出: true示例 2:输入: s = "rat", t = "car" 输出: false 提示:1 <= s.length, t.length <= 5 * 104 s 和 t仅包含小写字母 进阶: 如果输...原创 2022-05-05 10:25:26 · 73 阅读 · 0 评论 -
13. 字符串中的第一个唯一字符
题目:给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。示例 1:输入: s = "leetcode" 输出: 0示例 2:输入: s = "loveleetcode" 输出: 2示例 3:输入: s = "aabb" 输出: -1提示:1 <= s.length <= 105 s只包含小写字母题目分析:使用字典。for循环遍历字符串,字典中存入每个元素出现的个数,返回第一个出现次数为1的元素索引值。.原创 2022-05-05 10:22:57 · 268 阅读 · 0 评论 -
12. 整数反转
题目:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123 输出:321示例 2:输入:x = -123 输出:-321示例 3:输入:x = 120 输出:21示例 4:输入:x = 0 输出:0 提示:-231 <= x <= 231 - 1.原创 2022-04-29 10:05:42 · 239 阅读 · 0 评论 -
11. 反转字符串
题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = ["h","e","l","l","o"] 输出:["o","l","l","e","h"]示例 2:输入:s = ["H","a","n","n","a","h"] 输出:["h","a","n","n","a","H"] 提示:1 <= s.length &l.原创 2022-04-28 13:41:29 · 87 阅读 · 0 评论 -
10. 旋转图像
题目:给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[[7,4,1],[8,5,2],[9,6,3]]示例 2:输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]] 输出:[[15,1原创 2022-04-27 13:04:41 · 121 阅读 · 0 评论 -
9. 有效的数独
题目: 请你判断一个9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)注意:一个有效的数独(部分已被填充)不一定是可解的。 只需要根据以上规则,验证已经填入的数字是否有效即可。 空白格用'.'表示。示例1:示例2:提示:board.length == 9 boar...原创 2022-04-25 13:56:06 · 75 阅读 · 0 评论 -
7. 移动零
题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2:输入: nums = [0] 输出: [0]提示:1 <= nums.length <= 104 -2^31<= nums[i] <= 2^31- 1 进阶:你能尽量减少完成的操作次数吗?题目分...原创 2022-04-22 13:15:23 · 232 阅读 · 0 评论 -
6. 两个数组的交集 II
题目:给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[4,9]提示:1 <= nums1.length, nums2.le原创 2022-04-20 09:01:11 · 74 阅读 · 0 评论 -
5. 只出现一次的数字
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1] 输出: 1示例 2:输入: [4,1,2,1,2] 输出: 4题目分析:使用位操作的思想 所以,我们将所有的数都进行异或(XOR)操作,得到的最后结果就是数组中只出现一次的元素数值。同时,这道题主要计算量为一层for循环中的异或计算,因此时间复杂度为0(n..原创 2022-04-18 16:48:23 · 70 阅读 · 0 评论 -
4. 存在重复元素
题目:给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。示例 1:输入:nums = [1,2,3,1] 输出:true示例 2:输入:nums = [1,2,3,4] 输出:false示例 3:输入:nums = [1,1,1,3,3,4,3,2,4,2] 输出:true提示:1 <= nums.length <= 105 -109 <= nums[i] <= 109原创 2022-04-17 17:46:42 · 382 阅读 · 0 评论 -
3. 旋转数组
题目:给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2,3,4]示例2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解.原创 2022-04-15 11:14:48 · 77 阅读 · 0 评论 -
2. 买卖股票的最佳时机 II
题目:给定一个数组 prices ,其中prices[i] 表示股票第 i 天的价格。在每一天,你可能会决定购买和/或出售股票。你在任何时候最多只能持有 一股 股票。你也可以购买它,然后在同一天出售。返回 你能获得的最大利润。示例 1:输入: prices = [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3...原创 2022-04-14 22:47:21 · 89 阅读 · 0 评论 -
1. 删除排序数组中的重复项
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位置后返回 k 。不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。判题标准:原创 2022-04-14 22:15:59 · 400 阅读 · 0 评论