剑指 Offer 45. 把数组排成最小的数

100 阅读1分钟

剑指 Offer 45. 把数组排成最小的数

类似于数组排序 ,只是条件发生变化了,先将两组数组 组合两种数字,以此来判断是那个数组应该排在前面,那个数组排在后面


var minNumber = function (nums) {
    var len = nums.length;
    for (var i = 0; i < len; i++) {
        for (var j = i + 1; j < len; j++) {
            swap(i, j, nums)
        }
    }
    return nums.join('')
    function swap(i, j, nums) {
        var ij = Number(String(nums[i]) + String(nums[j]))
        var ji = Number(String(nums[j]) + String(nums[i]))
        if (ij > ji) {
            var mid = nums[i]
            nums[i] = nums[j]
            nums[j] = mid
        }
    }
};