rustgym/leetcode/
_1133_largest_unique_number.rs1struct 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}