最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實現(xiàn)找出數(shù)組中最長的連續(xù)數(shù)字序列

 更新時間:2014年09月03日 10:18:34   投稿:whsnow  
這篇文章主要介紹了JavaScript實現(xiàn)找出數(shù)組中最長的連續(xù)數(shù)字序列的方法,需要的朋友可以參考下

原始題目:

給定一個無序的整數(shù)序列, 找最長的連續(xù)數(shù)字序列。

例如:

給定[100, 4, 200, 1, 3, 2],

最長的連續(xù)數(shù)字序列是[1, 2, 3, 4]。

小菜給出的解法:

function maxSequence(array,step){
var _array = array.slice(), //clone array
_step = 1,
_arrayTemp = [],
i = 0;

var parseLogic = {
//result container
parseResults: [],
//set value to array,what's the last array of parseResults
set: function(n){
this.parseResults[this.parseResults.length-1].push(n);
},
//get the last array from parseResults
get: function(){
return this.parseResults[this.parseResults.length-1];
},
//put a new array in parseResults
addItem: function(){
this.parseResults.push([]);
},
//sort parseResults
sortByAsc: function(){
this.parseResults.sort(function(a,b){
return a.length - b.length;
});
}
};

//check params
_step = step || _step;

//sort array by asc
_array.sort(function(a,b){
return a - b;
});

//remove repeat of data
for(i = 0;i<_array.length;i++){
if(_array[i] != _array[i+1]){
_arrayTemp.push(_array[i]);
}
}
_array = _arrayTemp.slice();
_arrayTemp = [];

//parse array
parseLogic.addItem();
for(i = 0;i<_array.length;i++){
if(_array[i]+_step == _array[i+1]){
parseLogic.set(_array[i]);
continue;
}
if(_array[i]-_step == _array[i-1]){
parseLogic.set(_array[i]);
parseLogic.addItem();
}
}

//sort result
parseLogic.sortByAsc();

//get the max sequence
return parseLogic.get();

}

調(diào)用說明:

方法名稱:

maxSequence(array,step)

參數(shù)說明:

array:要查找的數(shù)組。必要。

step:序列步長(增量)??蛇x,默認(rèn)為1。

返回值:

此方法不會改變傳入的數(shù)組,會返回一個包含最大序列的新數(shù)組。

調(diào)用示例:

maxSequence([5,7,2,4,0,3,9],1); //return [2,3,4,5]
maxSequence([5,7,2,4,0,3,9],2); //return [5,7,9]

相關(guān)文章

最新評論

杂多县| 大姚县| 北安市| 靖宇县| 华阴市| 房产| 丽水市| 晋宁县| 康乐县| 阿鲁科尔沁旗| 吴旗县| 邢台县| 深州市| 新巴尔虎右旗| 米泉市| 攀枝花市| 乌兰县| 德化县| 淮北市| 朔州市| 汽车| 行唐县| 沂水县| 保定市| 辉县市| 盘锦市| 青神县| 蒙城县| 图们市| 泾源县| 四川省| 寿光市| 双峰县| 保山市| 肥城市| 手游| 临洮县| 大英县| 剑川县| 巴林右旗| 宁陕县|