LeetCode in Kotlin

2578. Split With Minimum Sum

Easy

Given a positive integer num, split it into two non-negative integers num1 and num2 such that:

Return the minimum possible sum of num1 and num2.

Notes:

Example 1:

Input: num = 4325

Output: 59

Explanation: We can split 4325 so that num1 is 24 and num2 is 35, giving a sum of 59. We can prove that 59 is indeed the minimal possible sum.

Example 2:

Input: num = 687

Output: 75

Explanation: We can split 687 so that num1 is 68 and num2 is 7, which would give an optimal sum of 75.

Constraints:

Solution

@Suppress("NAME_SHADOWING")
class Solution {
    fun splitNum(num: Int): Int {
        var num = num
        val ans = IntArray(10)
        while (num > 0) {
            ans[num % 10]++
            num /= 10
        }
        var num1 = 0
        var num2 = 0
        for (i in 0..9) {
            for (j in 0 until ans[i]) {
                if (num1 <= num2) {
                    num1 = num1 * 10 + i
                } else {
                    num2 = num2 * 10 + i
                }
            }
        }
        return num1 + num2
    }
}
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy