Skip to content

LeetCode 1085: Sum of Digits in the Minimum Number

A clear explanation of checking if the digit sum of the array minimum is odd or even.

Problem Restatement

We are given an integer array A.

Let S be the sum of the digits of the minimum element of A.

Return 0 if S is odd, and 1 if S is even.

The official constraints state that 1 <= A.length <= 100 and 1 <= A[i] <= 100.

Input and Output

ItemMeaning
InputArray A
Output1 if digit sum of minimum is even, else 0

Function shape:

def sumOfDigits(A: list[int]) -> int:
    ...

Examples

Example 1:

A = [34, 23, 1, 24, 75, 33, 54, 8]

Minimum is 1. Digit sum = 1. Odd → return 0.

Answer: 0.

Example 2:

A = [99, 77, 33, 66, 55]

Minimum is 33. Digit sum = 3 + 3 = 6. Even → return 1.

Answer: 1.

Edge Cases

  • Check the minimum input size allowed by the constraints.
  • Verify duplicate values or tie cases if the input can contain them.
  • Keep the return value aligned with the exact failure case in the statement.

Common Pitfalls

  • Do not optimize away the invariant; the code should still make it clear what condition is being maintained.
  • Prefer problem-specific names over one-letter variables once the logic becomes stateful.

Implementation

class Solution:
    def sumOfDigits(self, A: list[int]) -> int:
        m = min(A)
        digit_sum = sum(int(d) for d in str(m))
        return 1 if digit_sum % 2 == 0 else 0

Testing

def run_tests():
    s = Solution()

    assert s.sumOfDigits([34,23,1,24,75,33,54,8]) == 0
    assert s.sumOfDigits([99,77,33,66,55]) == 1

    print("all tests passed")

run_tests()
TestExpectedWhy
Min 1, digit sum 10Odd digit sum
Min 33, digit sum 61Even digit sum