在每个数字必须是下一个/上一个数字的+3或-3的条件下,对数字数组进行混洗的最佳方法是什么?例如,0,1不能工作,但0,3可以。
谢谢!
发布于 2011-02-23 10:37:46
假设数组中的值不能重复。
function one(array, mod){
var modArray = [];
for(var index in array){
var item = array[index];
var itemMod = item%3;
if(itemMod === mod){
modArray.push(item);
}
}
return modArray();
}
function two(modArray){
var sortedArray = // sort highest to lowest
for(var index in sortedArray ){
var item = array[index];
if(index > 0 && item[index-1] === item[index]-3){
}else{return false;}
}
return sortedArray.length;
}
function main(array){
var a1 = one(array, 0);
var a2 = one(array, 1);
var a3 = one(array, 2);
var a1c = two(a1);
var a2c = two(a2);
var a3c = two(a3);
return // if a1c is greatest then a1, if a2c greatest then a2 ... etc
}https://stackoverflow.com/questions/5086262
复制相似问题