Ich weiß, dass in Groovy, wennGroovy: der einfachste Weg, um doppelte, nicht aufeinanderfolgende Werte in einer Liste zu erfassen
list = [1,2,3,1]
wenn
list.unique()
mit Rück
[1,2,3]
Aber wenn ich doppelten Wert für doppelte, nicht aufeinanderfolgende Elemente in einer Liste erkennen möchte. Wie kann ich das machen?
detect([1,2,3,1]) => true
detect([1,2,3,2]) => true
detect([1,1,2,3]) => false
detect([1,2,2,3,3]) => false
detect([1,2,3,4]) => false
Danke.
Edit: fügen diese beiden Fälle
detect([1,2,2,1]) => true
detect([1,2,1,1]) => true
wahr: jede nicht-konsekutiv, duplizieren auftreten.
Sehr gut! Ich möchte nur wissen, wie '' Ref «bedeutet eine leere Liste in Ihrem Code? –
Ja genau. Ich kann versuchen, die MetaClass-Implementierung mehr zu optimieren, wenn sie grooviger sein kann. – dmahapatro
oops, '[1,2,2,1] .detect()' und '[1,2,1,1] .detect()' return false, aber ich denke, dass es wahr sein sollte. Ich vermisse diese beiden Fälle, wenn ich die Frage definiere. –