「每日LeetCode」2022年5月21日
本文最后更新于:2023年3月19日 晚上
- 在长度 2N 的数组中找出重复 N 次的元素
961. 在长度 2N 的数组中找出重复 N 次的元素
给你一个整数数组 nums ,该数组具有以下属性:
- nums.length == 2 * n.
- nums 包含 n + 1 个 不同的 元素
- nums 中恰有一个元素重复 n 次
找出并返回重复了 n_ _次的那个元素。
示例 1:
输入:nums = [1,2,3,3] 输出:3
示例 2:
输入:nums = [2,1,2,5,3,2] 输出:2
示例 3:
输入:nums = [5,1,5,2,5,3,5,4] 输出:5
提示:
- 2 <= n <= 5000
- nums.length == 2 * n
- 0 <= nums[i] <= 104
- nums 由 n + 1 个** 不同的** 元素组成,且其中一个元素恰好重复 n 次
思路
因为 2N 出现了 N 次,那么一定只有以下三种情况:排序后元素在最左侧;元素在最右侧;元素在中间。取最中间的两个元素:元素在中间的情况下,元素大小一定大于 4,取任意一个即可;比较中间左边的那个元素和第一个元素,相同的话,说明是元素在最左边的情况;剩余的就是元素在最右边的情况。
解答
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!