diff --git a/solution/3400-3499/3432.Count Partitions with Even Sum Difference/README.md b/solution/3400-3499/3432.Count Partitions with Even Sum Difference/README.md index 57d6ac81f72c1..0128b2d723789 100644 --- a/solution/3400-3499/3432.Count Partitions with Even Sum Difference/README.md +++ b/solution/3400-3499/3432.Count Partitions with Even Sum Difference/README.md @@ -194,6 +194,28 @@ function countPartitions(nums: number[]): number { } ``` +#### Rust + +```rust +impl Solution { + pub fn count_partitions(nums: Vec) -> i32 { + let mut l: i64 = 0; + let mut r: i64 = nums.iter().map(|&x| x as i64).sum(); + let mut ans: i32 = 0; + + for &x in nums[..nums.len() - 1].iter() { + l += x as i64; + r -= x as i64; + if (l - r) % 2 == 0 { + ans += 1; + } + } + + ans + } +} +``` + diff --git a/solution/3400-3499/3432.Count Partitions with Even Sum Difference/README_EN.md b/solution/3400-3499/3432.Count Partitions with Even Sum Difference/README_EN.md index d60219e1ef467..d0886e6b0c622 100644 --- a/solution/3400-3499/3432.Count Partitions with Even Sum Difference/README_EN.md +++ b/solution/3400-3499/3432.Count Partitions with Even Sum Difference/README_EN.md @@ -192,6 +192,28 @@ function countPartitions(nums: number[]): number { } ``` +#### Rust + +```rust +impl Solution { + pub fn count_partitions(nums: Vec) -> i32 { + let mut l: i64 = 0; + let mut r: i64 = nums.iter().map(|&x| x as i64).sum(); + let mut ans: i32 = 0; + + for &x in nums[..nums.len() - 1].iter() { + l += x as i64; + r -= x as i64; + if (l - r) % 2 == 0 { + ans += 1; + } + } + + ans + } +} +``` + diff --git a/solution/3400-3499/3432.Count Partitions with Even Sum Difference/Solution.rs b/solution/3400-3499/3432.Count Partitions with Even Sum Difference/Solution.rs new file mode 100644 index 0000000000000..22ca3c7663c20 --- /dev/null +++ b/solution/3400-3499/3432.Count Partitions with Even Sum Difference/Solution.rs @@ -0,0 +1,17 @@ +impl Solution { + pub fn count_partitions(nums: Vec) -> i32 { + let mut l: i64 = 0; + let mut r: i64 = nums.iter().map(|&x| x as i64).sum(); + let mut ans: i32 = 0; + + for &x in nums[..nums.len() - 1].iter() { + l += x as i64; + r -= x as i64; + if (l - r) % 2 == 0 { + ans += 1; + } + } + + ans + } +}