Divide Array in Sets of K Consecutive Numbers LeetCode solution in Rust
1use std::collections::HashMap;23impl Solution {4pub fn is_possible_divide(mut nums: Vec<i32>, k: i32) -> bool {5if nums.len() % k as usize != 0 {6return false;7}89nums.sort_unstable();1011let mut freq: HashMap<i32, i32> = HashMap::new();12nums.iter().for_each(|&num| {13*freq.entry(num).or_insert(0) += 1;14});1516for num in nums {17if freq[&num] != 0 {18let occ = freq[&num];19for i in num..num + k {20match freq.get_mut(&i) {21Some(cnt) => {22if *cnt < 0 {23return false;24} else {25*cnt -= occ;26}27}28None => return false,29}30}31}32}33true34}35}