Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::collections::HashMap;
- struct Solution {}
- impl Solution {
- pub fn contains_nearby_duplicate(nums: Vec<i32>, k: i32) -> bool {
- let mut map = HashMap::new();
- for (ind, val) in nums.iter().enumerate() {
- let prev = map.entry(val).or_insert(ind);
- let dist = ind - *prev;
- if dist != 0 {
- if dist <= k as usize {
- return true;
- } else {
- *prev = ind;
- }
- }
- }
- false
- }
- }
- fn main() {
- assert!(Solution::contains_nearby_duplicate(vec![1,2,3,1], 3));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement