Skip to content

Commit

Permalink
Added alternating digit sum solution.
Browse files Browse the repository at this point in the history
  • Loading branch information
jusexton committed Jul 28, 2024
1 parent 154029e commit 774d16e
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ other languages.
- Sort by Increasing Frequency (https://leetcode.com/problems/sort-array-by-increasing-frequency)
- Maximum Odd Binary Number (https://leetcode.com/problems/maximum-odd-binary-number)
- Maximum Count of Positive or Negative Integer (https://leetcode.com/problems/maximum-count-of-positive-integer-and-negative-integer)
- Alternating Digit Sum (https://leetcode.com/problems/alternating-digit-sum/)

#### Medium

Expand Down
24 changes: 24 additions & 0 deletions src/leetcode/alternating_digit_sum.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
pub fn alternate_digit_sum(mut number: i32) -> i32 {
let mut result = 0;
let mut sign = 1;
while number > 0 {
sign *= -1;
result += (number % 10) * sign;
number /= 10;
}
result * sign
}

#[cfg(test)]
mod tests {
use super::alternate_digit_sum;

#[test]
fn digits_are_summed_with_alternating_signs() {
let sum = alternate_digit_sum(12345);
assert_eq!(3, sum);

let sum = alternate_digit_sum(10);
assert_eq!(1, sum)
}
}
1 change: 1 addition & 0 deletions src/leetcode/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,4 @@ mod sort_jumbled_numbers;
mod max_binary_number;
mod custom_sort;
mod max_positive_negative;
mod alternating_digit_sum;

0 comments on commit 774d16e

Please sign in to comment.