Skip to main content

rustgym/leetcode/
_1133_largest_unique_number.rs

1struct Solution;
2
3use std::collections::BTreeMap;
4
5impl Solution {
6    fn largest_unique_number(a: Vec<i32>) -> i32 {
7        let mut btm: BTreeMap<i32, i32> = BTreeMap::new();
8        for x in a {
9            *btm.entry(x).or_default() += 1;
10        }
11        for (&k, &v) in btm.iter().rev() {
12            if v == 1 {
13                return k;
14            }
15        }
16        -1
17    }
18}
19
20#[test]
21fn test() {
22    let a = vec![5, 7, 3, 9, 4, 9, 8, 3, 1];
23    assert_eq!(Solution::largest_unique_number(a), 8);
24    let a = vec![9, 9, 8, 8];
25    assert_eq!(Solution::largest_unique_number(a), -1);
26}