123456789101112131415161718192021222324252627 |
- use std::collections::HashMap;
-
- pub fn find_lucky(arr: Vec<i32>) -> i32 {
- let mut hm = HashMap::<i32, i32>::new();
- for n in arr {
- let entry = hm.entry(n).or_insert(0);
- *entry += 1;
- }
- let mut lucky = Vec::new();
- for (k, v) in hm {
- if k == v {
- lucky.push(k);
- }
- }
- let mut max = -1;
- for n in lucky {
- if n > max {
- max = n;
- }
- }
- return max;
- }
-
- pub fn main() {
- println!("Expected: 4");
- println!("Got: {}", find_lucky(vec![1, 4, 4, 4, 4, 2, 6]));
- }
|