aboutsummaryrefslogtreecommitdiff
path: root/contains_duplicate2.rs
blob: b016e21708309dc7d8b3cd3906e9b6de2292353d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use std::collections::HashMap;
struct Solution;

impl Solution {
    pub fn contains_nearby_duplicate(nums: Vec<i32>, k: i32) -> bool {
        let mut hm = HashMap::new();
        for (i, n) in nums.iter().enumerate() {
            if let Some(j) = hm.insert(n, i) {
                if (i as i32) - (j as i32) <= k {
                    return true;
                }
            }
        }
        false
    }
}

fn main() {
    let nums = vec![1,2,3,1];
    print!("{}", Solution::contains_nearby_duplicate(nums, 3));
}