Skip to content

Commit bc120fc

Browse files
committed
Runtime: 23 ms (Top 100.0%) | Memory: 4.80 MB (Top 66.67%)
1 parent 98b1552 commit bc120fc

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Runtime: 23 ms (Top 100.0%) | Memory: 4.80 MB (Top 66.67%)
2+
3+
use std::collections::HashMap;
4+
5+
impl Solution {
6+
pub fn is_possible_divide(mut nums: Vec<i32>, k: i32) -> bool {
7+
if nums.len() % k as usize != 0 { return false; }
8+
9+
nums.sort_unstable();
10+
11+
let mut freq: HashMap<i32, i32> = HashMap::new();
12+
nums.iter().for_each(|&num| {
13+
*freq.entry(num).or_insert(0) += 1;
14+
});
15+
16+
for num in nums {
17+
if freq[&num] != 0 {
18+
let occ = freq[&num];
19+
for i in num..num + k {
20+
match freq.get_mut(&i) {
21+
Some(cnt) => if *cnt < 0 { return false; } else { *cnt -= occ; },
22+
None => return false
23+
}
24+
}
25+
}
26+
}
27+
true
28+
}
29+
}

0 commit comments

Comments
 (0)