Originaltitel:
Finden Sie bei einer ungeordneten Abfolge von Ganzzahlen die längste Folge von aufeinanderfolgenden Zahlen.
Zum Beispiel:
Gegeben [100, 4, 200, 1, 3, 2],
Die längste Folge der aufeinanderfolgenden Zahlen ist [1, 2, 3, 4].
Die von Xiaocai angegebene Lösung:
Funktion maxEquence (Array, Schritt) {var _array = array.slice (), // klone array_step = 1, _arraytemp = [], i = 0; var parselogic = {// Ergebnis ContainerParseres: [], // Wert auf Array, was das letzte Array von ParySeresset ist: Funktion (n) {this.ParSeresults [this.parseresults.length-1] .push (n);}, // das letzte Array von Parseresultsget: function () {return this.parseresults [this.parseresuls.Length-1]; function () {this.ParSeresults.push ([]);}, // parseresultsSortByasc: function () {this.parseresults sortsort (function (a, b) {return a.Length - B.Length;});}}; // params_step = Step || _Step; // Array sortieren nach asc_array.sort (Funktion (a, b) {return a - b;}); // Wiederholung von Daten für (i = 0; i <_array.length; i ++) {if (_array [i]! _arrayTemp.slice (); _ arrayTemp = []; // Parse arrayParselogic.addItem (); for (i = 0; i <_array.length; i ++) {if (_array [i]+_ STEP == _array [i+1]) {parselogic.set (_array [i]); Fortsetzung;} if (_array [i] -_ step == _array [i-1]) {parselogic.set (_array [i]); parselogic.additem ();} // sortycergic. parselogic.get ();}Anrufanweisungen:
Methodenname:
MaxSequence (Array, Schritt)
Parameterbeschreibung:
Array: Das zu findene Array. notwendig.
Schritt: Sequenzschritt (Inkrement). Optional, Standard ist 1.
Rückgabewert:
Diese Methode ändert das übergebene Array nicht und gibt ein neues Array zurück, das die größte Sequenz enthält.
Aufrufen Beispiel:
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]