Skip to content

Latest commit

 

History

History
67 lines (55 loc) · 1.2 KB

File metadata and controls

67 lines (55 loc) · 1.2 KB

961. 重复 N 次的元素

在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。

返回重复了 N 次的那个元素。

示例 1:

输入: [1,2,3,3]
输出: 3

示例 2:

输入: [2,1,2,5,3,2]
输出: 2

示例 3:

输入: [5,1,5,2,5,3,5,4]
输出: 5

提示:

  1. 4 <= A.length <= 10000
  2. 0 <= A[i] < 10000
  3. A.length 为偶数

题解 (Rust)

1. 集合

use std::collections::HashSet;

impl Solution {
    pub fn repeated_n_times(a: Vec<i32>) -> i32 {
        let mut set = HashSet::new();

        for n in a {
            if set.contains(&n) {
                return n;
            } else {
                set.insert(n);
            }
        }

        -1
    }
}

2. 比较

impl Solution {
    pub fn repeated_n_times(a: Vec<i32>) -> i32 {
        for i in 1..4 {
            for j in i..a.len() {
                if a[j - i] == a[j] {
                    return a[j];
                }
            }
        }

        -1
    }
}