网页设计模板网站推荐,成都模版网站制作,金融行业网站模板,阿里巴巴手工活加工平台给你一个正整数 num #xff0c;请你将它分割成两个非负整数 num1 和 num2 #xff0c;满足#xff1a;
num1 和 num2 直接连起来#xff0c;得到 num 各数位的一个排列。 换句话说#xff0c;num1 和 num2 中所有数字出现的次数之和等于 num 中所有数字出现的次数。 num…给你一个正整数 num 请你将它分割成两个非负整数 num1 和 num2 满足
num1 和 num2 直接连起来得到 num 各数位的一个排列。 换句话说num1 和 num2 中所有数字出现的次数之和等于 num 中所有数字出现的次数。 num1 和 num2 可以包含前导 0 。 请你返回 num1 和 num2 可以得到的和的 最小 值。
注意
num 保证没有前导 0 。 num1 和 num2 中数位顺序可以与 num 中数位顺序不同。
示例 1
输入num 4325
输出59
解释我们可以将 4325 分割成 num1 24 和 num2 35 和为 59 59 是最小和。示例 2
输入num 687
输出75
解释我们可以将 687 分割成 num1 68 和 num2 7 和为最优值 75 。提示
10 num 109得出最小和的分割方法
将 num 的数字进行递增排序按照递增顺序交替地将数字分配给 num1和num2
/*** param {number} num* return {number}*/
var splitNum function (num) {//将数字转换成升序数字列表const numList [...String(num)].map(Number).sort((a, b) a - b)let num1 0, num2 0numList.forEach((item, i) {//按照递增顺序交替地将数字分配给 num1和num2i % 2 0 ? num1 num1 * 10 item : num2 num2 * 10 item})return num1 num2
};leetocde:https://leetcode.cn/problems/split-with-minimum-sum/description/
leetcode官方解题https://leetcode.cn/problems/split-with-minimum-sum/solutions/2470641/zui-xiao-he-fen-ge-by-leetcode-solution-6fde/