
如何数字以得到最大值?
排列数字以得到最大值的算法:
1. 排列组合
- 将数组中的第一个数字弹出。
- 对剩余数组进行排列。
- 将第一个数字与其他所有排列组合。
- 重复上述步骤,直到所有数组都排列完毕。
2. 排序
- 遍历所有排列好的数组,并将它们按降序排列。
- 找到最大值并返回。
以下 javascript 代码实现了上述算法:
//排列组合
function permutate(array, permutatedArray) {
if (!permutatedArray) {
permutatedArray = [];
}
if (array.length > 1) {
var elementCur = array.shift();
permutate(array, permutatedArray);
var permutatedArrayLen = permutatedArray.length;
for (var j = 0; j < permutatedArrayLen; j++) {
var p = permutatedArray.shift();
for (var i = 0; i <= p.length; i++) {
var r = p.slice(0);
r.splice(i, 0, elementCur);
permutatedArray.push(r)
}
}
} else {
permutatedArray.push([array[0]]);
}
return permutatedArray;
}
//排序
function orderBy(arr){
var sort = [];
permutate(arr, sort);
var max = sort[0].join('');
for(var i = 0; i < sort.length; i++ ){
var item = sort[i].join('');
if(max < item){
max = item;
}
}
return max;
}
var arr = [ 6, 68, 634, 6270];
console.log( orderBy(arr)) //6866346270
登录后复制
以上就是如何数字以获得最大值?的详细内容,更多请关注米云其它相关文章!
