欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

字节跳动一面算法题

程序员文章站 2024-01-29 14:00:28
...

题目描述:

有一个项目,由于多人维护,导致版本号规则,例如

versions = ['1.45.0', '1.5.2', '1.5', '6', '3.3.3.3.3.3']
res = ['1.5', '1.5.2', '1.45.0', '6', '3.3.3.3.3.3']

解法

function versionsSort(arr) {
    let res = []
    res = arr.sort((a, b) => {
        let va = a.split('.'),
            vb = b.split('.'),
            len = Math.max(va.length, vb.length)
        for(let i = 0; i < len; i++) {
            let x = va[i] === undefined ? 0 : parseInt(va[i]),
                y = vb[i] === undefined ? 0 : parseInt(vb[i])
            if(x < y)
                return -1
            else if(x > y)
                return 1
    })
    return res
}