< Back





2178. Maximum Split of Positive Even Integers

We're asked to return the maximum number of unique, postive, even integers we can split from a given
integer input.

Solving this greedily, we'll only handle integer inputs that are even. We'll start from the smallest
event integer, 2, and increment by 2 when a successful split is found. We'll keep track of the
integers used to split in an array, and subtract from the input integer during each iteration.

The solution is as follows:


  class Solution:
      def maximumEvenSplit(self, finalSum: int) -> List[int]:
          ans, i = [], 2

          if not finalSum % 2:
              while not i > finalSum:
                  ans += [i]
                  finalSum -= i
                  i += 2

              ans[-1] += finalSum

          return ans


_ Time Complexity:

  O(sqrt(n)) - Where n is the target, we iterate sqrt(n) times.

_ Space Complexity:

  O(n) - We use an array to keep track of the answer.