跳至主要內容
454, 四数之和II

一、题目描述

给你四个整数数组nums1nums2nums3nums4,数组长度都是n,请你计算有多少个元组(i, j, k, l)能满足:

  • 0 <= i, j, k, l < n
  • nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0

示例 1
输入: nums1 = [1, 2], nums2 = [-2, -1], nums3 = [-1, 2], nums4 = [0, 2]
输出: 2
解释: 两个元组如下:


Mike大约 1 分钟hashtablemediumarrayhash table
18, 四数之和

一、题目描述

给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a], nums[b], nums[c], nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):

  • 0 <= a, b, c, d < n
  • abcd互不相同
  • nums[a] + nums[b] + nums[c] + nums[d] == target

Mike大约 3 分钟hashtablemediumarraytwo pointerssorting
16, 最接近的三数之和

一、题目描述

给你一个长度为n的整数数组nums和一个目标值target。请你从nums中选出三个整数,使它们的和与target最接近。

返回这三个数的和。

假定每组输入恰好只存在一个解。

示例 1
输入: nums = [-1, 2, 1, -4], target = 1
输出: 2
解释: 与target最接近的和是2 (-1 + 2 + 1 = 2)。


Mike大约 2 分钟hashtablemediumarraytwo pointerssorting
15, 三数之和

一、题目描述

给你一个整数数组nums,判断是否存在三元组[nums[i], nums[j], nums[k]]满足i != j、i != k 且 j != k,同时还满足nums[i] + nums[j] + nums[k] == 0。请你返回所有和为0且不重复的三元组。

注意:答案中不可以包含重复的三元组。

示例 1
输入: nums = [-1, 0, 1, 2, -1, -4]
输出: [[-1, -1, 2], [-1, 0, 1]]
解释:
nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0。
nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0。
nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0。
不同的三元组是[-1, 0, 1] 和 [-1, -1, 2]。
注意,输出的顺序和三元组的顺序并不重要。


Mike大约 2 分钟hashtablemediumarraytwo pointerssorting
1, 两数之和

一、题目描述

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

示例 1
输入: nums = [2, 7, 11, 15], target = 9
输出: [0, 1]
解释: 因为nums[0] + nums[1] == 9,返回[0, 1]。


Mike大约 2 分钟hashtableeasyarrayhash table
202, 快乐数

一、题目描述

编写一个算法来判断一个数n是不是快乐数。

快乐数」的定义为:

  • 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
  • 然后重复这个过程直到这个数变为1,也可能是无限循环但始终变不到1
  • 如果这个过程的结果为1,那么这个数就是快乐数。

如果n快乐数就返回true;不是则返回false


Mike大约 1 分钟hashtableeasyhash tablemathtwo pointers
350, 两个数组的交集II

一、题目描述

给你两个整数数组nums1nums2,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。

示例 1
输入: nums1 = [1, 2, 2, 1], nums2 = [2, 2]
输出: [2, 2]

示例 2
输入: nums1 = [4, 9, 5], nums2 = [9, 4, 9, 8, 4]
输出: [4, 9]
解释: [9, 4]也是可以接受的。


Mike大约 2 分钟hashtableeasyarrayhash tablebinary searchsortingtwo pointers
349, 两个数组的交集

一、题目描述

给定两个数组nums1nums2,返回它们的交集。输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序

示例 1
输入: nums1 = [1, 2, 2, 1], nums2 = [2, 2]
输出: [2]

示例 2
输入: nums1 = [4, 9, 5], nums2 = [9, 4, 9, 8, 4]
输出: [9, 4]
解释: [4, 9]也是可以通过的


Mike大约 1 分钟hashtableeasyarrayhash tablebinary searchsortingtwo pointers
438, 找到字符串中所有字母异位词

一、题目描述

给定两个字符串sp,找到s中所有p异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。

异位词指由相同字母重排列形成的字符串(包括相同的字符串)。

示例 1
输入: s = "cbaebabacd", p = "abc"
输出: [0, 6]
解释:
起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。
起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。


Mike大约 3 分钟hashtablemediumhash tablestringsliding window
49, 字母异位词分组

一、题目描述

给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。

字母异位词是由重新排列源单词的所有字母得到的一个新单词。

示例 1
输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
输出: [["bat"], ["nat", "tan"], ["ate", "eat", "tea"]]

示例 2
输入: strs = [""]
输出: [[""]]


Mike大约 1 分钟hashtablemediumarrayhash tablestringsorting
2