Heim > Web-Frontend > js-Tutorial > Hauptteil

JavaScript implementiert die Auflistung der längsten fortlaufenden Nummer in einem Array_Javascript-Fähigkeiten

WBOY
Freigeben: 2016-05-16 16:23:27
Original
1146 Leute haben es durchsucht

Originaltitel:

Bestimmen Sie bei einer gegebenen ungeordneten Folge von ganzen Zahlen die längste Folge aufeinanderfolgender Zahlen.

Zum Beispiel:

Gegeben [100, 4, 200, 1, 3, 2],

Die längste zusammenhängende Zahlenfolge ist [1, 2, 3, 4].

Die Lösung von Xiao Cai:

Code kopieren Der Code lautet wie folgt:

Funktion maxSequence(array,step){
var _array = array.slice(), //Array klonen
_step = 1,
​ _arrayTemp = [],
i = 0;
var parseLogic = {
//Ergebniscontainer
ParseResults: [],
//Wert auf Array setzen, was ist das letzte Array von parseResults
set: function(n){
This.parseResults[this.parseResults.length-1].push(n);
},
//das letzte Array von parseResults abrufen
Holen Sie sich: function(){
Geben Sie this.parseResults[this.parseResults.length-1];
zurück },
//ein neues Array in parseResults einfügen
AddItem: function(){
This.parseResults.push([]);
},
//parseResults sortieren
SortByAsc: function(){
This.parseResults.sort(function(a,b){
           return a.length - b.length;
});
}
};
//Parameter prüfen
_step = Schritt ||. _step;
//Array nach Asc sortieren
_array.sort(function(a,b){
Geben Sie a - b zurück;
});
//Wiederholung der Daten entfernen
for(i = 0;i<_array.length;i ){
If(_array[i] != _array[i 1]){
​ _arrayTemp.push(_array[i]);
}
}
_array = _arrayTemp.slice();
_arrayTemp = [];
//Array analysieren
parseLogic.addItem();
for(i = 0;i<_array.length;i ){
If(_array[i] _step == _array[i 1]){
       parseLogic.set(_array[i]);
Weiter;
}
If(_array[i]-_step == _array[i-1]){
       parseLogic.set(_array[i]);
       parseLogic.addItem();
}
}
//Ergebnis sortieren
parseLogic.sortByAsc();
//Erhalte die maximale Sequenz
Geben Sie parseLogic.get();
zurück }


Aufrufanweisungen:

Methodenname:

maxSequence(array,step)

Parameterbeschreibung:

Array: Das zu durchsuchende Array. notwendig.

Schritt: Sequenzschritt (Inkrement). Optional, Standardwert ist 1.

Rückgabewert:

Diese Methode ändert das übergebene Array nicht, sondern gibt ein neues Array zurück, das die größte Sequenz enthält.

Aufrufbeispiel:

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]

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage