欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript實(shí)現(xiàn)列出數(shù)組中最長(zhǎng)的連續(xù)數(shù)

 更新時(shí)間:2014年12月29日 14:51:19   投稿:hebedich  
這篇文章主要介紹了JavaScript實(shí)現(xiàn)列出數(shù)組中最長(zhǎng)的連續(xù)數(shù)的方法及使用,需要的朋友可以參考下

原始題目:

給定一個(gè)無(wú)序的整數(shù)序列, 找最長(zhǎng)的連續(xù)數(shù)字序列。

例如:

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

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

小菜給出的解法:

復(fù)制代碼 代碼如下:

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)用說(shuō)明:

     方法名稱:

         maxSequence(array,step)

     參數(shù)說(shuō)明:

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

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

     返回值:

         此方法不會(huì)改變傳入的數(shù)組,會(huì)返回一個(gè)包含最大序列的新數(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)文章

  • javascript中錯(cuò)誤使用var造成undefined

    javascript中錯(cuò)誤使用var造成undefined

    這篇文章主要介紹了javascript中錯(cuò)誤使用var造成undefined的原因,實(shí)例分析了錯(cuò)誤使用var造成undefined的過(guò)程,感興趣的小伙伴們可以參考一下
    2016-03-03
  • web開(kāi)發(fā)跨域原因的多種解決方案

    web開(kāi)發(fā)跨域原因的多種解決方案

    我們?cè)趙eb項(xiàng)目開(kāi)發(fā)中,經(jīng)常會(huì)遇到各種跨域的問(wèn)題,本文帶你解決web開(kāi)發(fā)中多種跨域原因的解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • 異步安全加載javascript文件的方法

    異步安全加載javascript文件的方法

    這篇文章主要介紹了異步安全加載javascript文件的方法,實(shí)例分析了javascript實(shí)現(xiàn)文件異步加載的具體技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 微信小程序視圖層莫名出現(xiàn)豎線的解決方法

    微信小程序視圖層莫名出現(xiàn)豎線的解決方法

    本文主要介紹了微信小程序視圖層莫名出現(xiàn)豎線的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • JS模擬面向?qū)ο笕猓ǘ?、類型與賦值)

    JS模擬面向?qū)ο笕猓ǘ㈩愋团c賦值)

    上次,我講了有關(guān)類型區(qū)別和傳遞的問(wèn)題,現(xiàn)在,我給大家在插上一點(diǎn)有關(guān)類型賦值的問(wèn)題。
    2011-07-07
  • Locate a File Using a File Open Dialog Box

    Locate a File Using a File Open Dialog Box

    Locate a File Using a File Open Dialog Box...
    2007-06-06
  • WebStorm ES6 語(yǔ)法支持設(shè)置&babel使用及自動(dòng)編譯(詳解)

    WebStorm ES6 語(yǔ)法支持設(shè)置&babel使用及自動(dòng)編譯(詳解)

    下面小編就為大家?guī)?lái)一篇WebStorm ES6 語(yǔ)法支持設(shè)置&babel使用及自動(dòng)編譯(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • js移動(dòng)焦點(diǎn)到最后位置的簡(jiǎn)單方法

    js移動(dòng)焦點(diǎn)到最后位置的簡(jiǎn)單方法

    下面小編就為大家?guī)?lái)一篇js移動(dòng)焦點(diǎn)到最后位置的簡(jiǎn)單方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • JavaScript判斷文件是否存在的實(shí)例代碼

    JavaScript判斷文件是否存在的實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于JavaScript判斷文件是否存在的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • ES6 let和const定義變量與常量的應(yīng)用實(shí)例分析

    ES6 let和const定義變量與常量的應(yīng)用實(shí)例分析

    這篇文章主要介紹了ES6 let和const定義變量與常量的應(yīng)用,結(jié)合實(shí)例形式分析了ES6使用let定義變量以及使用const定義常量的相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06

最新評(píng)論