directory
0.0.0-20240920062246-d0657495930a
Repository: https://github.com/yigmmk/leetcode.git
Documentation: pkg.go.dev

# Packages

* @lc app=leetcode.cn id=1234 lang=golang * * [1234] 替换子串得到平衡字符串 * * https://leetcode.cn/problems/replace-the-substring-for-balanced-string/description/ * * algorithms * Medium (36.07%) * Likes: 131 * Dislikes: 0 * Total Accepted: 11.8K * Total Submissions: 30.2K * Testcase Example: '"QWER"' * * 有一个只含有 'Q', 'W', 'E', 'R' 四种字符,且长度为 n 的字符串。 * * 假如在该字符串中,这四个字符都恰好出现 n/4 次,那么它就是一个「平衡字符串」。 * * * * 给你一个这样的字符串 s,请通过「替换一个子串」的方式,使原字符串 s 变成一个「平衡字符串」。 * * 你可以用和「待替换子串」长度相同的 任何 其他字符串来完成替换。 * * 请返回待替换子串的最小可能长度。 * * 如果原字符串自身就是一个平衡字符串,则返回 0。 * * * * 示例 1: * * * 输入:s = "QWER" * 输出:0 * 解释:s 已经是平衡的了。 * * 示例 2: * * * 输入:s = "QQWE" * 输出:1 * 解释:我们需要把一个 'Q' 替换成 'R',这样得到的 "RQWE" (或 "QRWE") 是平衡的。 * * * 示例 3: * * * 输入:s = "QQQW" * 输出:2 * 解释:我们可以把前面的 "QQ" 替换成 "ER"。 * * * 示例 4: * * * 输入:s = "QQQQ" * 输出:3 * 解释:我们可以替换后 3 个 'Q',使 s = "QWER"。 * * * * * 提示: * * * 1 <= s.length <= 10^5 * s.length 是 4 的倍数 * s 中只含有 'Q', 'W', 'E', 'R' 四种字符 * * */.
* @lc app=leetcode.cn id=1477 lang=golang * * [1477] 找两个和为目标值且不重叠的子数组 * * https://leetcode.cn/problems/find-two-non-overlapping-sub-arrays-each-with-target-sum/description/ * * algorithms * Medium (30.78%) * Likes: 124 * Dislikes: 0 * Total Accepted: 8.3K * Total Submissions: 26.8K * Testcase Example: '[3,2,2,4,3]\n3' * * 给你一个整数数组 arr 和一个整数值 target 。 * * 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 。可能会有多种方案,请你返回满足要求的两个子数组长度和的 最小值 。 * * 请返回满足要求的最小长度和,如果无法找到这样的两个子数组,请返回 -1 。 * * * * 示例 1: * * 输入:arr = [3,2,2,4,3], target = 3 * 输出:2 * 解释:只有两个子数组和为 3 ([3] 和 [3])。它们的长度和为 2 。 * * * 示例 2: * * 输入:arr = [7,3,4,7], target = 7 * 输出:2 * 解释:尽管我们有 3 个互不重叠的子数组和为 7 ([7], [3,4] 和 [7]),但我们会选择第一个和第三个子数组,因为它们的长度和 2 * 是最小值。 * * * 示例 3: * * 输入:arr = [4,3,2,6,2,3,4], target = 6 * 输出:-1 * 解释:我们只有一个和为 6 的子数组。 * * * 示例 4: * * 输入:arr = [5,5,4,4,5], target = 3 * 输出:-1 * 解释:我们无法找到和为 3 的子数组。 * * * 示例 5: * * 输入:arr = [3,1,1,1,5,1,2,1], target = 3 * 输出:3 * 解释:注意子数组 [1,2] 和 [2,1] 不能成为一个方案因为它们重叠了。 * * * * * 提示: * * * 1 <= arr.length <= 10^5 * 1 <= arr[i] <= 1000 * 1 <= target <= 10^8 * * */.
* @lc app=leetcode.cn id=187 lang=golang * * [187] 重复的DNA序列 * * https://leetcode.cn/problems/repeated-dna-sequences/description/ * * algorithms * Medium (53.18%) * Likes: 459 * Dislikes: 0 * Total Accepted: 128.2K * Total Submissions: 240.9K * Testcase Example: '"AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"' * * DNA序列 由一系列核苷酸组成,缩写为 'A', 'C', 'G' 和 'T'.。 * * * 例如,"ACGAATTCCG" 是一个 DNA序列 。 * * * 在研究 DNA 时,识别 DNA 中的重复序列非常有用。 * * 给定一个表示 DNA序列 的字符串 s ,返回所有在 DNA 分子中出现不止一次的 长度为 10 的序列(子字符串)。你可以按 任意顺序 * 返回答案。 * * * * 示例 1: * * * 输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT" * 输出:["AAAAACCCCC","CCCCCAAAAA"] * * * 示例 2: * * * 输入:s = "AAAAAAAAAAAAA" * 输出:["AAAAAAAAAA"] * * * * * 提示: * * * 0 <= s.length <= 10^5 * s[i]=='A'、'C'、'G' or 'T' * * */.
* @lc app=leetcode.cn id=2395 lang=golang * * [2395] 和相等的子数组 * * https://leetcode.cn/problems/find-subarrays-with-equal-sum/description/ * * algorithms * Easy (71.76%) * Likes: 7 * Dislikes: 0 * Total Accepted: 7.2K * Total Submissions: 10.1K * Testcase Example: '[4,2,4]' * * 给你一个下标从 0 开始的整数数组 nums ,判断是否存在 两个 长度为 2 的子数组且它们的 和 相等。注意,这两个子数组起始位置的下标必须 不相同 * 。 * * 如果这样的子数组存在,请返回 true,否则返回 false 。 * * 子数组 是一个数组中一段连续非空的元素组成的序列。 * * * * 示例 1: * * 输入:nums = [4,2,4] * 输出:true * 解释:元素为 [4,2] 和 [2,4] 的子数组有相同的和 6 。 * * * 示例 2: * * 输入:nums = [1,2,3,4,5] * 输出:false * 解释:没有长度为 2 的两个子数组和相等。 * * * 示例 3: * * 输入:nums = [0,0,0] * 输出:true * 解释:子数组 [nums[0],nums[1]] 和 [nums[1],nums[2]] 的和相等,都为 0 。 * 注意即使子数组的元素相同,这两个子数组也视为不相同的子数组,因为它们在原数组中的起始位置不同。 * * * * * 提示: * * * 2 <= nums.length <= 1000 * -10^9 <= nums[i] <= 10^9 * * */.
* @lc app=leetcode.cn id=2461 lang=golang * * [2461] 长度为 K 子数组中的最大和 * * https://leetcode.cn/problems/maximum-sum-of-distinct-subarrays-with-length-k/description/ * * algorithms * Medium (30.13%) * Likes: 32 * Dislikes: 0 * Total Accepted: 7.4K * Total Submissions: 24.5K * Testcase Example: '[1,5,4,2,9,9,9]\n3' * * 给你一个整数数组 nums 和一个整数 k 。请你从 nums 中满足下述条件的全部子数组中找出最大子数组和: * * * 子数组的长度是 k,且 * 子数组中的所有元素 各不相同 。 * * * 返回满足题面要求的最大子数组和。如果不存在子数组满足这些条件,返回 0 。 * * 子数组 是数组中一段连续非空的元素序列。 * * * * 示例 1: * * 输入:nums = [1,5,4,2,9,9,9], k = 3 * 输出:15 * 解释:nums 中长度为 3 的子数组是: * - [1,5,4] 满足全部条件,和为 10 。 * - [5,4,2] 满足全部条件,和为 11 。 * - [4,2,9] 满足全部条件,和为 15 。 * - [2,9,9] 不满足全部条件,因为元素 9 出现重复。 * - [9,9,9] 不满足全部条件,因为元素 9 出现重复。 * 因为 15 是满足全部条件的所有子数组中的最大子数组和,所以返回 15 。 * * * 示例 2: * * 输入:nums = [4,4,4], k = 3 * 输出:0 * 解释:nums 中长度为 3 的子数组是: * - [4,4,4] 不满足全部条件,因为元素 4 出现重复。 * 因为不存在满足全部条件的子数组,所以返回 0 。 * * * * * 提示: * * * 1 <= k <= nums.length <= 10^5 * 1 <= nums[i] <= 10^5 * * */.
* @lc app=leetcode.cn id=3 lang=golang * * [3] 无重复字符的最长子串 * * https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/ * * algorithms * Medium (38.93%) * Likes: 7969 * Dislikes: 0 * Total Accepted: 1.9M * Total Submissions: 4.9M * Testcase Example: '"abcabcbb"' * * 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 * * * * 示例 1: * * * 输入: s = "abcabcbb" * 输出: 3 * 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 * * * 示例 2: * * * 输入: s = "bbbbb" * 输出: 1 * 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 * * * 示例 3: * * * 输入: s = "pwwkew" * 输出: 3 * 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 * 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。 * * * * * 提示: * * * 0 <= s.length <= 5 * 10^4 * s 由英文字母、数字、符号和空格组成 * * */.
* @lc app=leetcode.cn id=567 lang=golang * * [567] 字符串的排列 * * https://leetcode.cn/problems/permutation-in-string/description/ * * algorithms * Medium (44.40%) * Likes: 854 * Dislikes: 0 * Total Accepted: 243K * Total Submissions: 547.2K * Testcase Example: '"ab"\n"eidbaooo"' * * 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 * * 换句话说,s1 的排列之一是 s2 的 子串 。 * * * * 示例 1: * * * 输入:s1 = "ab" s2 = "eidbaooo" * 输出:true * 解释:s2 包含 s1 的排列之一 ("ba").