自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (2)
  • 收藏
  • 关注

原创 LeetCode41. 缺失的第一个正数

链接:https://leetcode.cn/problems/first-missing-positive。给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:nums = [7,8,9,11,12]输入:nums = [3,4,-1,1]输入:nums = [1,2,0]来源:力扣(LeetCode)

2023-06-25 10:11:54 257

原创 LeetCode40. 组合总和 II

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。链接:https://leetcode.cn/problems/combination-sum-ii。输入: candidates = [10,1,2,7,6,1,5], target = 8,输入: candidates = [2,5,2,1,2], target = 5,candidates 中的每个数字在每个组合中只能使用 一次。

2023-06-20 09:40:17 181

原创 LeetCode39. 组合总和

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。2 和 3 可以形成一组候选,2 + 2 + 3 = 7。输入:candidates = [2,3,6,7], target = 7。输入: candidates = [2,3,5], target = 8。输出: [[2,2,2,2],[2,3,3],[3,5]]输出:[[2,2,3],[7]]

2023-06-16 11:16:07 173

原创 LeetCode38. 外观数列

countAndSay(4) = 读 "21" = 一 个 2 + 一 个 1 = "12" + "11" = "1211"描述前一项,这个数是 1211 即 “ 一 个 1 + 一 个 2 + 二 个 1 ” ,记作 "111221"描述前一项,这个数是 21 即 “ 一 个 2 + 一 个 1 ” ,记作 "1211"countAndSay(2) = 读 "1" = 一 个 1 = "11"描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 "11"给定一个正整数 n ,输出外观数列的第 n 项。

2023-06-15 15:22:30 681

原创 LeetCode36. 有效的数独

解释:除了第一行的第一个数字从 5 改为 8 以外,空格内其他数字均与 示例1 相同。请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。board[i][j] 是一位数字(1-9)或者 '.'只需要根据以上规则,验证已经填入的数字是否有效即可。一个有效的数独(部分已被填充)不一定是可解的。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。输入:board =

2023-06-14 17:05:47 426

原创 LeetCode 35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。链接:https://leetcode.cn/problems/search-insert-position。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。

2023-06-13 09:31:25 859

原创 LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置

链接:https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array。输入:nums = [5,7,7,8,8,10], target = 8。输入:nums = [5,7,7,8,8,10], target = 6。著作权归领扣网络所有。如果数组中不存在目标值 target,返回 [-1, -1]。输入:nums = [], target = 0。输出:[-1,-1]输出:[-1,-1]

2023-06-12 09:40:31 775

原创 LeetCode33. 搜索旋转排序数组

在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2]。输入:nums = [4,5,6,7,0,1,2], target = 0。来源:力扣(LeetCode)

2023-06-09 10:09:08 544

原创 LeetCode32. 最长有效括号

主要思路:遇到(,就将坐标i存在数组中,遇到),移除数组的最后一位数据,并且判断如果temp为空就将坐标加入数组中,否则对比result与数组最后一位哪个最大,并将其替换。给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。商业转载请联系官方授权,非商业转载请注明出处。解释:最长有效括号子串是 "()()"解释:最长有效括号子串是 "()"s[i] 为 '(' 或 ')'输入:s = ")()())"来源:力扣(LeetCode)输入:s = "(()"

2023-06-08 09:44:41 512

原创 LeetCode31. 下一个排列

整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。而 arr = [3,2,1] 的下一个排列是 [1,2,3] ,因为 [3,2,1] 不存在一个字典序更大的排列。类似地,arr = [2,3,1] 的下一个排列是 [3,1,2]。例如,arr = [1,2,3] 的下一个排列是 [1,3,2]。输入:nums = [1,2,3]输出:[1,3,2]

2023-06-07 10:20:26 197

原创 LeetCode30. 串联所有单词的子串

例如,如果 words = ["ab","cd","ef"], 那么 "abcdef", "abefcd","cdabef", "cdefab","efabcd", 和 "efcdab" 都是串联子串。输入:s = "wordgoodgoodgoodbestword", words = ["word","good","best","word"]输入:s = "barfoofoobarthefoobarman", words = ["bar","foo","the"]子串 "foobar" 开始位置是 9。

2023-06-06 10:58:34 282

原创 LeetCode29. 两数相除

注意:假设我们的环境只能存储 32 位 有符号整数,其数值范围是 [−231, 231 − 1]。如果商 严格小于 -231 ,则返回 -231。例如,8.345 将被截断为 8 ,-2.7335 将被截断至 -2。链接:https://leetcode.cn/problems/divide-two-integers。解释: 7/-3 = -2.33333.. ,向零截断后得到 -2。商业转载请联系官方授权,非商业转载请注明出处。解释: 10/3 = 3.33333.. ,向零截断后得到 3。

2023-06-05 10:35:43 256

原创 LeetCode28. 找出字符串中第一个匹配项的下标

链接:https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string。输入:haystack = "leetcode", needle = "leeto"输入:haystack = "sadbutsad", needle = "sad"解释:"leeto" 没有在 "leetcode" 中出现,所以返回 -1。解释:"sad" 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0。

2023-06-05 10:00:39 230

原创 LeetCode27. 移除元素

例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。输入:nums = [0,1,2,2,3,0,4,2], val = 2。元素的顺序可以改变。输入:nums = [3,2,2,3], val = 3。输出:5, nums = [0,1,4,0,3]

2023-06-02 09:40:03 317

原创 LeetCode 26. 删除有序数组中的重复项

给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。输入:nums = [0,0,1,1,1,2,2,3,3,4]

2023-06-01 09:56:39 293

原创 LeetCode25. K 个一组翻转链表

k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。进阶:你可以设计一个只用 O(1) 额外内存空间的算法解决此问题吗?你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。输入:head = [1,2,3,4,5], k = 2。输入:head = [1,2,3,4,5], k = 3。输出:[2,1,4,3,5]输出:[3,2,1,4,5]

2023-05-31 10:00:16 506

原创 LeetCode 24. 两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。链接:https://leetcode.cn/problems/swap-nodes-in-pairs。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。链表中节点的数目在范围 [0, 100] 内。输入:head = [1,2,3,4]来源:力扣(LeetCode)输入:head = [1]输出:[2,1,4,3]输入:head = []

2023-05-30 10:13:58 533

原创 LeetCode23. 合并 K 个升序链表

链接:https://leetcode.cn/problems/merge-k-sorted-lists。输入:lists = [[1,4,5],[1,3,4],[2,6]]商业转载请联系官方授权,非商业转载请注明出处。请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。输出:[1,1,2,3,4,4,5,6]将它们合并到一个有序链表中得到。lists[i] 按 升序 排列。输入:lists = [[]]来源:力扣(LeetCode)输入:lists = []

2023-05-29 10:49:14 594

原创 LeetCode22. 括号生成

链接:https://leetcode.cn/problems/generate-parentheses。输出:["((()))","(()())","(())()","()(())","()()()"]数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。来源:力扣(LeetCode)解决思路:主要使用的是DFS。

2023-05-26 10:14:17 35

原创 LeetCode21. 合并两个有序链表

链接:https://leetcode.cn/problems/merge-two-sorted-lists。将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:l1 = [1,2,4], l2 = [1,3,4]输入:l1 = [], l2 = [0]两个链表的节点数目范围是 [0, 50]输入:l1 = [], l2 = []输出:[1,1,2,3,4,4]

2023-05-25 10:09:31 35

原创 LeetCode20. 有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。链接:https://leetcode.cn/problems/valid-parentheses。商业转载请联系官方授权,非商业转载请注明出处。每个右括号都有一个对应的相同类型的左括号。s 仅由括号 '()[]{}' 组成。左括号必须用相同类型的右括号闭合。输入:s = "()[]{}"来源:力扣(LeetCode)左括号必须以正确的顺序闭合。输入:s = "()"输入:s = "(]"

2023-05-24 09:49:42 29

原创 LeetCode19. 删除链表的倒数第 N 个结点

解题思路:主要使用快慢指针,先让快指针走到n位置,然后再让快慢指针一起走,走到快指针的结尾,慢指针就走了倒数第n个位置,然后slowNode!链接:https://leetcode.cn/problems/remove-nth-node-from-end-of-list。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。输入:head = [1,2], n = 1。输入:head = [1], n = 1。输出:[1,2,3,5]

2023-05-23 10:46:38 22

原创 LeetCode18. 四数之和

给你一个由 n 个整数组成的数组 nums ,和一个目标值 target。输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]输入:nums = [1,0,-1,0,-2,2], target = 0。链接:https://leetcode.cn/problems/4sum。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:nums = [2,2,2,2,2], target = 8。你可以按 任意顺序 返回答案。输出:[[2,2,2,2]]

2023-05-23 10:18:06 17

原创 LeetCode17. 电话号码的字母组合

链接:https://leetcode.cn/problems/letter-combinations-of-a-phone-number。输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。著作权归领扣网络所有。digits[i] 是范围 ['2', '9'] 的一个数字。输入:digits = "23"输出:["a","b","c"]输入:digits = "2"输入:digits = ""

2023-05-22 14:20:14 45

原创 LeetCode16. 最接近的三数之和

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。链接:https://leetcode.cn/problems/3sum-closest。解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:nums = [-1,2,1,-4], target = 1。输入:nums = [0,0,0], target = 1。

2023-05-22 10:42:14 26

原创 LeetCode15. 三数之和

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]输入:nums = [0,1,1]输入:nums = [0,0,0]解释:唯一可能的三元组和为 0。输出:[[0,0,0]]

2023-05-19 11:29:46 20

原创 LeetCode14. 最长公共前缀

链接:https://leetcode.cn/problems/longest-common-prefix。输入:strs = ["flower","flow","flight"]著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:strs = ["dog","racecar","car"]编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。strs[i] 仅由小写英文字母组成。来源:力扣(LeetCode)解释:输入不存在公共前缀。

2023-05-19 10:28:43 25

原创 Leet13. 罗马数字转整数

数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为 IX。C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。s 仅含字符 ('I', 'V', 'X', 'L', 'C', 'D', 'M')X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

2023-05-18 11:16:17 21

原创 LeetCode12. 整数转罗马数字

数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。解释: M = 1000, CM = 900, XC = 90, IV = 4.I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。输入: num = 4。

2023-05-18 10:48:58 28

原创 LeetCode11. 盛最多水的容器

有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。链接:https://leetcode.cn/problems/container-with-most-water。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。输入:[1,8,6,2,5,4,8,3,7]输入:height = [1,1]说明:你不能倾斜容器。

2023-05-17 17:25:11 22

原创 LeetCode10. 正则表达式匹配

s[i-1],我们需要查看dp[i][j-2],是否匹配上了,如果匹配上了,我们'*'则匹配0个。首先我们会先想到,如果知道dp[i-1][j-1]已经匹配上了,再加上已知s[i],p[j],如果求出dp[i][j]结果?(2)p[j-2] == s[i-1] 或者p[j-2] == '.',那么dp[i][j]也匹配上了。(2)p[j-1] == '.','.' 匹配任意单个字符,那么dp[i][j]也匹配上了。(1)p[j-1] == s[i-1],那么dp[i][j]就匹配上了。

2023-05-17 16:36:27 23

原创 LeetCode9. 回文数

链接:https://leetcode.cn/problems/palindrome-number。给你一个整数 x ,如果 x 是一个回文整数,返回 true;否则,返回 false。解释:从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解释:从右向左读, 为 01。因此它不是一个回文数。例如,121 是回文,而 123 不是。来源:力扣(LeetCode)输入:x = -121。输入:x = 121。

2023-05-16 18:07:17 30

原创 LeetCode 8. 字符串转换整数 (atoi)

将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。第 2 步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+')由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42。第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:" -42"(读入 '-' 字符,所以结果应该是负数)第 1 步:"42"(当前没有读入字符,因为没有前导空格)

2023-05-16 17:55:44 14

原创 LeetCode7. 整数反转

如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。链接:https://leetcode.cn/problems/reverse-integer。给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。假设环境不允许存储 64 位整数(有符号或无符号)。来源:力扣(LeetCode)输入:x = -123。输入:x = 123。输入:x = 120。

2023-05-16 11:53:42 53

原创 LeetCode6. N 字形变换

中间的行数,例如第1行,第一个与第二个放在一组一起看,第三个与第四个放在一组一起看,第一个与第二个的规律是。之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。输入:s = "PAYPALISHIRING", numRows = 3。输入:s = "PAYPALISHIRING", numRows = 4。,第一个与第三个的规律与第0行跟最后一行的是一致的。输入:s = "A", numRows = 1。输出:"PAHNAPLSIIGYIR"

2023-05-16 11:38:03 66

原创 LeetCode5.最长回文子串

链接:https://leetcode.cn/problems/longest-palindromic-substring。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。给你一个字符串 s,找到 s 中最长的回文子串。解释:"aba" 同样是符合题意的答案。来源:力扣(LeetCode)输入:s = "babad"输入:s = "cbbd"s 仅由数字和英文字母组成。

2023-05-16 10:34:00 14

原创 LeetCode4. 寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。链接:https://leetcode.cn/problems/median-of-two-sorted-arrays。解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。商业转载请联系官方授权,非商业转载请注明出处。输入:nums1 = [1,2], nums2 = [3,4]输入:nums1 = [1,3], nums2 = [2]解释:合并数组 = [1,2,3] ,中位数 2。

2023-05-15 11:49:29 20

原创 LeetCode3. 无重复字符的最长子串

链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。输入: s = "abcabcbb"输入: s = "pwwkew"

2023-05-15 10:49:10 17

原创 LeetCode2. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]请你将两个数相加,并以相同形式返回一个表示和的链表。输入:l1 = [0], l2 = [0]输出:[8,9,9,9,0,0,0,1]题目数据保证列表表示的数字不含前导零。输出:[7,0,8]

2023-05-12 11:41:33 22

原创 LeetCode1:两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。链接:https://leetcode.cn/problems/two-sum。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。

2023-05-12 10:21:29 21

对冲弹幕Demo,多轨道,不重叠对冲

对冲弹幕Demo,多轨道,不重叠对冲

2022-05-10

自学震荡调研Demo代码编写

可以通过json文件设置歌曲的震动频率,大小。也可以自己改变频率的样式

2022-04-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除