LeetCode 2178. Maximum Split of Positive Even Integers
You are given an integer?finalSum
. Split it into a sum of a?maximum?number of?unique?positive even integers.
For example, given?
finalSum = 12
, the following splits are?valid?(unique positive even integers summing up to?finalSum
):?(12)
,?(2 + 10)
,?(2 + 4 + 6)
, and?(4 + 8)
. Among them,?(2 + 4 + 6)
?contains the maximum number of integers. Note that?finalSum
?cannot be split into?(2 + 2 + 4 + 4)
?as all the numbers should be unique.
Return?a list of integers that represent a valid split containing a?maximum?number of integers. If no valid split exists for?finalSum
, return?an?empty?list. You may return the integers in?any?order.
?
Example 1:
Input: finalSum = 12
Output: [2,4,6]
Explanation:
The following are valid splits: (12)
, (2 + 10)
, (2 + 4 + 6)
, and (4 + 8)
.
(2 + 4 + 6) has the maximum number of integers, which is 3. Thus, we return [2,4,6].
Note that [2,6,4], [6,2,4], etc. are also accepted.
Example 2:
Input: finalSum = 7
Output: []
Explanation:?
There are no valid splits for the given finalSum. Thus, we return an empty array.
Example 3:
Input: finalSum = 28
Output: [6,8,2,12]
Explanation:?
The following are valid splits: (2 + 26)
, (6 + 8 + 2 + 12)
, and (4 + 24)
.
(6 + 8 + 2 + 12)
has the maximum number of integers, which is 4. Thus, we return [6,8,2,12].
Note that [10,2,4,12], [6,2,4,16], etc. are also accepted.
?
Constraints:
1 <= finalSum <= 1010
這里面主要是判斷最后的數(shù)字的情況,如果finalsum可以被i跟i+2聯(lián)系分解的話,那么就繼續(xù)進(jìn)行分解,直到小于i+i+2的時(shí)候,這時(shí)候?qū)⒑竺媸O碌臄?shù)字全部添加到list中就行,
下面是代碼:
Runtime:?14 ms, faster than?60.44%?of?Java?online submissions for?Maximum Split of Positive Even Integers.
Memory Usage:?55.3 MB, less than?83.11%?of?Java?online submissions for?Maximum Split of Positive Even Integers.