My LeetCode grinding. Trying to do a problem a day.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

main.rs 560B

123456789101112131415161718192021222324252627
  1. use std::collections::HashMap;
  2. pub fn find_lucky(arr: Vec<i32>) -> i32 {
  3. let mut hm = HashMap::<i32, i32>::new();
  4. for n in arr {
  5. let entry = hm.entry(n).or_insert(0);
  6. *entry += 1;
  7. }
  8. let mut lucky = Vec::new();
  9. for (k, v) in hm {
  10. if k == v {
  11. lucky.push(k);
  12. }
  13. }
  14. let mut max = -1;
  15. for n in lucky {
  16. if n > max {
  17. max = n;
  18. }
  19. }
  20. return max;
  21. }
  22. pub fn main() {
  23. println!("Expected: 4");
  24. println!("Got: {}", find_lucky(vec![1, 4, 4, 4, 4, 2, 6]));
  25. }