blob: 2e1567ed7ecb1c52396e82fc6cac429825a926f7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
use std::collections::HashSet;
struct Solution;
impl Solution {
pub fn check_subarray_sum(nums: Vec<i32>, k: i32) -> bool {
let mut mod_k_val = HashSet::<i32>::from([0]);
let mut prefix_sum = nums[0] % k;
for val in nums.into_iter().skip(1) {
let tba = prefix_sum;
prefix_sum = (prefix_sum + val) % k;
if mod_k_val.contains(&prefix_sum) {
return true;
}
mod_k_val.insert(tba);
}
false
}
}
fn main() {
let nums = vec![18,84,4,38,11,248];
let k = 6;
print!("{}", Solution::check_subarray_sum(nums, k));
}
|