-
Notifications
You must be signed in to change notification settings - Fork 61
Expand file tree
/
Copy path2578-split-with-minimum-sum.js
More file actions
38 lines (35 loc) · 1.07 KB
/
2578-split-with-minimum-sum.js
File metadata and controls
38 lines (35 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**
* 2578. Split With Minimum Sum
* https://leetcode.com/problems/split-with-minimum-sum/
* Difficulty: Easy
*
* Given a positive integer num, split it into two non-negative integers num1 and num2 such that:
* - The concatenation of num1 and num2 is a permutation of num.
* - In other words, the sum of the number of occurrences of each digit in num1 and num2 is equal
* to the number of occurrences of that digit in num.
* - num1 and num2 can contain leading zeros.
*
* Return the minimum possible sum of num1 and num2.
*
* Notes:
* - It is guaranteed that num does not contain any leading zeros.
* - The order of occurrence of the digits in num1 and num2 may differ from the order of occurrence
* of num.
*/
/**
* @param {number} num
* @return {number}
*/
var splitNum = function(num) {
const digits = String(num).split('').sort((a, b) => a - b);
let num1 = '';
let num2 = '';
for (let i = 0; i < digits.length; i++) {
if (i % 2 === 0) {
num1 += digits[i];
} else {
num2 += digits[i];
}
}
return Number(num1) + Number(num2);
};