Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. use std::collections::HashMap;
  2.  
  3. struct Solution {}
  4.  
  5. impl Solution {
  6. pub fn contains_nearby_duplicate(nums: Vec<i32>, k: i32) -> bool {
  7. let mut map = HashMap::new();
  8. for (ind, val) in nums.iter().enumerate() {
  9. let prev = map.entry(val).or_insert(ind);
  10. let dist = ind - *prev;
  11. if dist != 0 {
  12. if dist <= k as usize {
  13. return true;
  14. } else {
  15. *prev = ind;
  16. }
  17. }
  18. }
  19. false
  20. }
  21. }
  22.  
  23. fn main() {
  24. assert!(Solution::contains_nearby_duplicate(vec![1,2,3,1], 3));
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement