오리지널 제목 :
정수의 정수 시퀀스가 주어지면 가장 긴 연속 숫자를 찾으십시오.
예를 들어:
주어진 [100, 4, 200, 1, 3, 2],
연속 숫자의 가장 긴 순서는 [1, 2, 3, 4]입니다.
Xiaocai가 제공 한 솔루션 :
함수 maxEdgeence (array, step) {var _array = array.slice (), // clone array_step = 1, _arraytemp = [], i = 0; var parselogic = {// result containerparseresults : [], // 배열로 값을 설정하는 것 : Parseresults의 마지막 배열 function (n) {this.parseresults [this.parseresults.length-1] .push (n);}, // parseresultsget : function () {return this.parseresults [this.parseresults.length.legults.length.legults.length.l];}, // parseresultsadditem에 새 배열을 넣습니다. function () {this.parseresults.push ([]);}, // parseresultssortbyasc : function () {this.parseresults.sort.sort (a, b) {return a.length -b.length;});}}; // params_step = step || _step; // asc_array.sort by asc_array.sort (a, b) {return a -b;}); // datafor의 반복 제거 (i = 0; i <_array.length; i ++) {if (_array [i]! = _array [i+1]) {arraytemp.push (_array [_)}} _arraytemp.slice (); _ arraytemp = []; // arrayparselogic.additem (); for (i = 0; i <_array.length; i ++) {if (_array [i]+_ step == _array [i+1]) {parselogic.set (_array [i]); 계속;} if (_array [i] -wep == _array [i-1]) {parselogic.set (_array [i]); parselogic.additem ();} // stort resultselogic.sortbyasc () parselogic.get ();}통화 지침 :
메소드 이름 :
Max equence (배열, 단계)
매개 변수 설명 :
배열 : 배열을 찾을 수 있습니다. 필요한.
단계 : 시퀀스 단계 (증분). 선택 사항, 기본값은 1입니다.
반품 값 :
이 방법은 들어오는 배열을 변경하지 않으며 가장 큰 시퀀스가 포함 된 새 배열을 반환합니다.
Call example:
최대 순위 ([5,7,2,4,0,3,9], 1); // return [2,3,4,5] MaxEdgeence ([5,7,2,4,0,3,9], 2); // 반환 [5,7,9]