directory
0.0.0-20240920062246-d0657495930a
Repository: https://github.com/yigmmk/leetcode.git
Documentation: pkg.go.dev
# Packages
* @lc app=leetcode.cn id=167 lang=golang
*
* [167] 两数之和 II - 输入有序数组
*
* https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/description/
*
* algorithms
* Medium (59.20%)
* Likes: 954
* Dislikes: 0
* Total Accepted: 519.4K
* Total Submissions: 877.3K
* Testcase Example: '[2,7,11,15]\n9'
*
* 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target
* 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <=
* numbers.length 。
*
* 以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。
*
* 你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。
*
* 你所设计的解决方案必须只使用常量级的额外空间。
*
*
* 示例 1:
*
*
* 输入:numbers = [2,7,11,15], target = 9
* 输出:[1,2]
* 解释:2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。
*
* 示例 2:
*
*
* 输入:numbers = [2,3,4], target = 6
* 输出:[1,3]
* 解释:2 与 4 之和等于目标数 6 。因此 index1 = 1, index2 = 3 。返回 [1, 3] 。
*
* 示例 3:
*
*
* 输入:numbers = [-1,0], target = -1
* 输出:[1,2]
* 解释:-1 与 0 之和等于目标数 -1 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。
*
*
*
*
* 提示:
*
*
* 2 <= numbers.length <= 3 * 10^4
* -1000 <= numbers[i] <= 1000
* numbers 按 非递减顺序 排列
* -1000 <= target <= 1000
* 仅存在一个有效答案
*
*
*/.
* @lc app=leetcode.cn id=189 lang=golang
*
* [189] 轮转数组
*
* https://leetcode.cn/problems/rotate-array/description/
*
* algorithms
* Medium (44.26%)
* Likes: 1697
* Dislikes: 0
* Total Accepted: 601.7K
* Total Submissions: 1.4M
* Testcase Example: '[1,2,3,4,5,6,7]\n3'
*
* 给你一个数组,将数组中的元素向右轮转 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]
* 解释:
* 向右轮转 1 步: [99,-1,-100,3]
* 向右轮转 2 步: [3,99,-1,-100]
*
*
*
* 提示:
*
*
* 1 <= nums.length <= 10^5
* -2^31 <= nums[i] <= 2^31 - 1
* 0 <= k <= 10^5
*
*
*
*
* 进阶:
*
*
* 尽可能想出更多的解决方案,至少有 三种 不同的方法可以解决这个问题。
* 你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?
*
*
*
*
*
*
*
*
*/.
* @lc app=leetcode.cn id=19 lang=golang
*
* [19] 删除链表的倒数第 N 个结点
*
* https://leetcode.cn/problems/remove-nth-node-from-end-of-list/description/
*
* algorithms
* Medium (44.42%)
* Likes: 2183
* Dislikes: 0
* Total Accepted: 899.6K
* Total Submissions: 2M
* Testcase Example: '[1,2,3,4,5]\n2'
*
* 给你一个链表,删除链表的倒数第 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]
*
*
*
*
* 提示:
*
*
* 链表中结点的数目为 sz
* 1 <= sz <= 30
* 0 <= Node.val <= 100
* 1 <= n <= sz
*
*
*
*
* 进阶:你能尝试使用一趟扫描实现吗?
*
*/.
* @lc app=leetcode.cn id=283 lang=golang
*
* [283] 移动零
*
* https://leetcode.cn/problems/move-zeroes/description/
*
* algorithms
* Easy (63.97%)
* Likes: 1857
* Dislikes: 0
* Total Accepted: 955.8K
* Total Submissions: 1.5M
* Testcase Example: '[0,1,0,3,12]'
*
* 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
*
* 请注意 ,必须在不复制数组的情况下原地对数组进行操作。
*
*
*
* 示例 1:
*
*
* 输入: nums = [0,1,0,3,12]
* 输出: [1,3,12,0,0]
*
*
* 示例 2:
*
*
* 输入: nums = [0]
* 输出: [0]
*
*
*
* 提示:
*
*
*
* 1 <= nums.length <= 10^4
* -2^31 <= nums[i] <= 2^31 - 1
*
*
*
*
* 进阶:你能尽量减少完成的操作次数吗?
*
*/.
* @lc app=leetcode.cn id=344 lang=golang
*
* [344] 反转字符串
*
* https://leetcode.cn/problems/reverse-string/description/
*
* algorithms
* Easy (79.39%)
* Likes: 716
* Dislikes: 0
* Total Accepted: 677.5K
* Total Submissions: 852.8K
* Testcase Example: '["h","e","l","l","o"]'
*
* 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 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 <= 10^5
* s[i] 都是 ASCII 码表中的可打印字符
*
*
*/.
* @lc app=leetcode.cn id=557 lang=golang
*
* [557] 反转字符串中的单词 III
*
* https://leetcode.cn/problems/reverse-words-in-a-string-iii/description/
*
* algorithms
* Easy (74.15%)
* Likes: 513
* Dislikes: 0
* Total Accepted: 286.4K
* Total Submissions: 386.2K
* Testcase Example: `"Let's take LeetCode contest"`
*
* 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
*
*
*
* 示例 1:
*
*
* 输入:s = "Let's take LeetCode contest"
* 输出:"s'teL ekat edoCteeL tsetnoc"
*
*
* 示例 2:
*
*
* 输入: s = "God Ding"
* 输出:"doG gniD"
*
*
*
*
* 提示:
*
*
* 1 <= s.length <= 5 * 10^4
* s 包含可打印的 ASCII 字符。
* s 不包含任何开头或结尾空格。
* s 里 至少 有一个词。
* s 中的所有单词都用一个空格隔开。
*
*
*/.
* @lc app=leetcode.cn id=876 lang=golang
*
* [876] 链表的中间结点
*
* https://leetcode.cn/problems/middle-of-the-linked-list/description/
*
* algorithms
* Easy (70.39%)
* Likes: 781
* Dislikes: 0
* Total Accepted: 349.8K
* Total Submissions: 497K
* Testcase Example: '[1,2,3,4,5]'
*
* 给定一个头结点为 head 的非空单链表,返回链表的中间结点。
*
* 如果有两个中间结点,则返回第二个中间结点。
*
*
*
* 示例 1:
*
*
* 输入:[1,2,3,4,5]
* 输出:此列表中的结点 3 (序列化形式:[3,4,5])
* 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。
* 注意,我们返回了一个 ListNode 类型的对象 ans,这样:
* ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next
* = NULL.
* @lc app=leetcode.cn id=977 lang=golang
*
* [977] 有序数组的平方
*
* https://leetcode.cn/problems/squares-of-a-sorted-array/description/
*
* algorithms
* Easy (68.66%)
* Likes: 705
* Dislikes: 0
* Total Accepted: 461.8K
* Total Submissions: 672.6K
* Testcase Example: '[-4,-1,0,3,10]'
*
* 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
*
*
*
*
*
*
* 示例 1:
*
*
* 输入:nums = [-4,-1,0,3,10]
* 输出:[0,1,9,16,100]
* 解释:平方后,数组变为 [16,1,0,9,100]
* 排序后,数组变为 [0,1,9,16,100]
*
* 示例 2:
*
*
* 输入:nums = [-7,-3,2,3,11]
* 输出:[4,9,9,49,121]
*
*
*
*
* 提示:
*
*
* 1 10^4
* -10^4
* nums 已按 非递减顺序 排序
*
*
*
*
* 进阶:
*
*
* 请你设计时间复杂度为 O(n) 的算法解决本问题
*
*
*/.