多多数字组合——拼多多面试题(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方法)的主要内容,如果未能解决你的问题,请参考以下文章

拼多多面试题——java后台岗位面试

拼多多面试题——算法实习生

拼多多技术面试算法题

2020年拼多多校招面试题及答案-最全最新-持续更新中

拼多多面试题——java+mysql岗位面试

花费半年整理拼多多饿了么蚂蚁金服等大厂Java面试题大集合