题目核心
给定一个未排序的整数数组 nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
要求:设计并实现时间复杂度为 O(n) 的解法。
例如:
nums = [100, 4, 200, 1, 3, 2]
答案:4(最长连续序列是 [1, 2, 3, 4])
nums = [0, 3, 7, 2, 5, 8, 4, 6, 0, 1]
答案:9(最长连续序列是 [0, 1, 2, 3, 4, 5, 6, 7, 8])
2026/8/12大约 7 分钟
给定一个未排序的整数数组 nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
要求:设计并实现时间复杂度为 O(n) 的解法。
例如:
nums = [100, 4, 200, 1, 3, 2]
答案:4(最长连续序列是 [1, 2, 3, 4])
nums = [0, 3, 7, 2, 5, 8, 4, 6, 0, 1]
答案:9(最长连续序列是 [0, 1, 2, 3, 4, 5, 6, 7, 8])
给你一个非空整数数组 nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
要求:算法应该具有线性时间复杂度,并且不使用额外空间。
例如:
nums = [2, 2, 1]
答案:1
nums = [4, 1, 2, 1, 2]
答案:4
nums = [1]
答案:1
给定一个大小为 n 的数组 nums,返回其中出现次数 超过一半 的元素。
多数元素是指数组中出现次数大于 n/2 的元素。题目保证数组中一定存在多数元素。
例如:
nums = [3, 2, 3]
答案:3
给定整数数组 nums 和整数 k,返回数组中第 k 个最大的元素。
这里求的是排序后第 k 个位置上的元素,而不是第 k 个不同的元素。重复数字需要正常计数。
例如:
nums = [3, 2, 1, 5, 6, 4], k = 2
降序排列后:[6, 5, 4, 3, 2, 1]
答案:5
给定一个整数数组 nums,返回一个数组 answer,其中 answer[i] 等于 nums 中除 nums[i] 之外所有元素的乘积。
要求:
O(n)。O(1)(不包括输出数组)。例如:
nums = [1, 2, 3, 4]
answer = [24, 12, 8, 6]
一排房屋中,每间房都放着一定金额的钱,数组 nums 中的 nums[i] 就是第 i 间房里的金额。
相邻的两间房不能在同一晚偷,求最多能够偷到多少钱。
例如:
nums = [2, 7, 9, 3, 1]
给定数组 temperatures,其中 temperatures[i] 表示第 i 天的温度。
要求返回一个数组 answer,其中 answer[i] 表示从第 i 天开始,要等多少天才会遇到更高温度。
如果之后没有更高温度,则 answer[i] = 0。
例如:
temperatures = [73, 74, 75, 71, 69, 72, 76, 73]
answer = [ 1, 1, 4, 2, 1, 1, 0, 0]