Die beste Methode, um das erste wiederholte Array-Element zurückzugeben

7

Dies ist eine Interviewfrage:

Was ist der beste Weg, um das erste wiederholte Element aus dem Array von ganzen Zahlen zurückzugeben?

Beispiel:

Gegeben ein Array [12, 46, 244, 0, 12, 83, 48, 98, 233, 83, 26, 91, 119, 148, 98] .

Der Rückgabewert ist in diesem Fall 12 .

Wie kann das gemacht werden?

    
Fero 21.02.2011, 12:05
quelle

13 Antworten

10

Ich denke, dass foreach loop faster <> schneller ist, wenn man auf Leistung achtet / a>

%Vor%     
Haim Evgi 21.02.2011, 12:09
quelle
9

Dadurch erhalten Sie alle doppelten Werte und ihre ursprünglichen Positionen:

%Vor%

Ergebnis:

%Vor%     
kapa 21.02.2011 12:10
quelle
3
%Vor%     
KingCrunch 21.02.2011 12:11
quelle
3

Sie können array_unique verwenden, um alle doppelten Werte zu entfernen, und dann über die ursprüngliche und resultierende Arrays und geben den ersten Wert zurück, der nicht im resultierenden Array erscheint. Etwas wie das:

%Vor%

Arbeitsdemo: Ссылка .

    
Andy E 21.02.2011 12:15
quelle
2
%Vor%     
richard 29.04.2011 01:32
quelle
1
%Vor%     
Mark Baker 21.02.2011 12:43
quelle
0
%Vor%

CodePad .

    
alex 21.02.2011 12:13
quelle
0

Eine loopless Lösung, die Rekursion verwendet. Ich denke, es wird am schnellsten sein, aber mehr Speicher brauchen. Schnell, weil die Größe des Arrays immer kleiner wird, je weiter wir uns bewegen.

%Vor%     
Mr Coder 21.02.2011 13:56
quelle
0
%Vor%     
richard 28.04.2011 14:30
quelle
0
___ answer5065752 ___

Dadurch erhalten Sie alle doppelten Werte und ihre ursprünglichen Positionen:

%Vor%

Ergebnis:

%Vor%     
___ qstnhdr ___ Die beste Methode, um das erste wiederholte Array-Element zurückzugeben ___ answer5065735 ___

Ich denke, dass foreach loop faster <> schneller ist, wenn man auf Leistung achtet / a>

%Vor%     
___ answer5065761 ___
%Vor%     
___ answer5065805 ___

Sie können %code% verwenden, um alle doppelten Werte zu entfernen, und dann über die ursprüngliche und resultierende Arrays und geben den ersten Wert zurück, der nicht im resultierenden Array erscheint. Etwas wie das:

%Vor%

Arbeitsdemo: Ссылка .

    
___ answer5066093 ___
%Vor%     
___ answer5826940 ___
%Vor%     
___ answer5065783 ___
%Vor%

CodePad .

    
___ answer5066818 ___

Eine loopless Lösung, die Rekursion verwendet. Ich denke, es wird am schnellsten sein, aber mehr Speicher brauchen. Schnell, weil die Größe des Arrays immer kleiner wird, je weiter wir uns bewegen.

%Vor%     
___ answer5820226 ___
%Vor%     
___ answer15818254 ___
%Vor%     
___ antwort6633264 ___
%Vor%     
___ tag123php ___ PHP ist eine weit verbreitete, dynamische, objektorientierte und interpretierte Skriptsprache, die primär für die serverseitige Webentwicklung entwickelt wurde. ___ answer17422862 ___
%Vor%     
___ tag123arrays ___ Ein Array ist eine geordnete Datenstruktur, die aus einer Sammlung von Elementen (Werten oder Variablen) besteht, die jeweils durch einen oder mehrere Indizes identifiziert werden. Wenn Sie nach bestimmten Varianten von Arrays fragen, verwenden Sie stattdessen diese verwandten Tags: [Vektor], [Arraylist], [Matrix]. Wenn Sie dieses Tag verwenden, markieren Sie die Frage auch mit der verwendeten Programmiersprache, es sei denn, Ihre Frage bezieht sich nicht auf eine bestimmte Programmiersprache. ___ answer28957421 ___

Oder Sie könnten die Funktion array_count_values ​​() verwenden, um das zu holen.

%Vor%

Siehe hier im PHP-Handbuch.

    
___ qstntxt ___

Dies ist eine Interviewfrage:

Was ist der beste Weg, um das erste wiederholte Element aus dem Array von ganzen Zahlen zurückzugeben?

Beispiel:

Gegeben ein Array %code% .

Der Rückgabewert ist in diesem Fall %code% .

Wie kann das gemacht werden?

    
___
Nilesh Dharmik 09.07.2011 06:55
quelle
0
%Vor%     
danidacar 04.04.2013 17:53
quelle
0
%Vor%     
Shivendra 02.07.2013 10:09
quelle
-1

Oder Sie könnten die Funktion array_count_values ​​() verwenden, um das zu holen.

%Vor%

Siehe hier im PHP-Handbuch.

    
Syed Sharique 10.03.2015 06:28
quelle

Tags und Links