2016-04-21 8 views
-5

Wie kann ich die n größten Ganzzahlen in einem Array finden und sie in einem neuen Array zurückgibt.Wie finde ich die n größten Ganzzahlen in einem Array und gibt sie in einem neuen Array zurück

+2

Warum 'axapta',' Dynamik-ax-2012' und 'x ++' Tags? –

+0

Eine Lösung mit Jobs in Dynamics ax ist auch gut für mich. Ich brauche die bestmögliche Lösung dafür. Also habe ich Dynamics AX hinzugefügt. – Raas

+3

Das ist keine Frage, es ist eine Forderung. Stackoverflow ist eine Frage/Antwort-Site. – hatchet

Antwort

2

Linq ist sehr einfach:

var newArray = array.OrderByDescending(x => x).Take(n).ToArray(); 
+0

Danke für die Antwort. Könntest du mich bitte wissen lassen, ob das in C# ist? – Raas

+0

ja, das ist in C# –

0

du mit Heapsort in nlogn Zeit tun könnte.

  1. einen max-heap erstellen
  2. Pull n Elemente von ihm