题解 | #丑数#

丑数

http://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b

function GetUglyNumber_Solution(index)
{
    // write code here
    //0-6直接返回index作为结果
    //设置三个指针,分别指向2、3、5队列,取出最小的值压入,这个值不会再压入,所以该队列的指针右移
    //当最小值同时有两个时,同时取出,两个指针都右移
    if(index<7) {return index}
    let p2=0,p3=0,p5=0, newNum = 1;
    let arr = [1]
    //当丑数的数组长度达到了index时终止循环
    while(arr.length<index){
        newNum = Math.min(arr[p2]*2,arr[p3]*3,arr[p5]*5)
        if (newNum==arr[p2]*2){p2++}
        if (newNum==arr[p3]*3){p3++}
        if (newNum==arr[p5]*5){p5++}
        arr.push(newNum)
    }
    return newNum
}
module.exports = {
    GetUglyNumber_Solution : GetUglyNumber_Solution
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:11
我最近都有点不想活了,天天早10晚11的,还问我爱不爱她目前的状态别说爱谁了,没扇谁就不错了。是不是大家都是一进节子,只有工作没有爱情了
AzureSkies:在字节的时候找的就是字节的,飞书太适合恋爱人士了,能看到是不是已读,是不是在会议中。简直冥婚好伴侣
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
06-26 17:24
已编辑
宁波大学 Java
一口洪烧肉:哈哈哈哈哈哈哈哈哈哈哈硬要啊
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务