Skip to content

Commit c86bfbd

Browse files
committed
feat: add rust solution to lc problem: No.3432
1 parent b07f2fe commit c86bfbd

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed

solution/3400-3499/3432.Count Partitions with Even Sum Difference/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,28 @@ function countPartitions(nums: number[]): number {
194194
}
195195
```
196196

197+
#### Rust
198+
199+
```rust
200+
impl Solution {
201+
pub fn count_partitions(nums: Vec<i32>) -> i32 {
202+
let mut l: i64 = 0;
203+
let mut r: i64 = nums.iter().map(|&x| x as i64).sum();
204+
let mut ans: i32 = 0;
205+
206+
for &x in nums[..nums.len() - 1].iter() {
207+
l += x as i64;
208+
r -= x as i64;
209+
if (l - r) % 2 == 0 {
210+
ans += 1;
211+
}
212+
}
213+
214+
ans
215+
}
216+
}
217+
```
218+
197219
<!-- tabs:end -->
198220

199221
<!-- solution:end -->

solution/3400-3499/3432.Count Partitions with Even Sum Difference/README_EN.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,28 @@ function countPartitions(nums: number[]): number {
192192
}
193193
```
194194

195+
#### Rust
196+
197+
```rust
198+
impl Solution {
199+
pub fn count_partitions(nums: Vec<i32>) -> i32 {
200+
let mut l: i64 = 0;
201+
let mut r: i64 = nums.iter().map(|&x| x as i64).sum();
202+
let mut ans: i32 = 0;
203+
204+
for &x in nums[..nums.len() - 1].iter() {
205+
l += x as i64;
206+
r -= x as i64;
207+
if (l - r) % 2 == 0 {
208+
ans += 1;
209+
}
210+
}
211+
212+
ans
213+
}
214+
}
215+
```
216+
195217
<!-- tabs:end -->
196218

197219
<!-- solution:end -->
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
impl Solution {
2+
pub fn count_partitions(nums: Vec<i32>) -> i32 {
3+
let mut l: i64 = 0;
4+
let mut r: i64 = nums.iter().map(|&x| x as i64).sum();
5+
let mut ans: i32 = 0;
6+
7+
for &x in nums[..nums.len() - 1].iter() {
8+
l += x as i64;
9+
r -= x as i64;
10+
if (l - r) % 2 == 0 {
11+
ans += 1;
12+
}
13+
}
14+
15+
ans
16+
}
17+
}

0 commit comments

Comments
 (0)