多多数字组合——拼多多面试题(JS方法)
Posted 开到荼蘼223's
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多多数字组合——拼多多面试题(JS方法)相关的知识,希望对你有一定的参考价值。
多多数字组合(拼多多面试题)
给定一个整数N,求一个最小值,要求:
(1)各个数位的数字之和等于N
(2)各个数位的数字各不相同
由题目要求可知,每个数位上的数字不能相同,数位共1-9,所以输入的N最大值不能大于1+2+3+4+…+9=45,从这里入手,我们可以把给定的整数N拆分,每次都用最大的数,可以从9开始一直到1,最后在反转数组作为结果返回,下面是代码实现:
var num = function (N) {
var str = ''; // 存储最终结果
for (var i = 9; i > 0; i--) {
if (N <= i) {
str += N;
return str.split('').reverse().join('');// 反转字符串得到最小值
}
N = N - i;
str += i;
}
}
console.log(num(30));// 6789
console.log(num(46));// undefined N大于45无法进行if条件判断
以上是关于多多数字组合——拼多多面试题(JS方法)的主要内容,如果未能解决你的问题,请参考以下文章