Hvis man har flere integers, hvordan finder man så den største, på en hurt...

Tags:    java programmering

Hej! Sidder og arbejder med at skulle finde den første topfart på 5 biler.. Hvordan kan jeg finde den største værdi?





5 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 20 karma
Sorter efter stemmer Sorter efter dato
Når du kun har 5 værdier så vil jeg faktisk tro at en normal lineær sammenligning er hurtigt. Dette kan let findes vha. en 'for'-løkke
Fold kodeboks ind/udJava kode 




Hvis du vil have en forholdsvis, hurtig algoritme der tager n*log(n) tid på de fleste data set, så kan du benytte dig af Arrays.sort();

Fold kodeboks ind/udJava kode 


Og når du så skal få fat på det højeste tal, tager du det sidste element i array'et. Men hvis du skal have fat på det mindste skal du tage det første element i array'et.


Fold kodeboks ind/udJava kode 




Men nu er det ingen grund til "bøvle" med sortering, når man kun ønsker den største værdi. Til det, vil som Jens nævner, en lineær gennemkørsel være at foretrække.



Tak allesammen :D

Vil dog give JanC lidt ret, men Kevins metode er jo stadig brugbar. Hvis man nu ligger sit array ind i et ANDET array, og sortere det andet array, så er det første array jo uberørt.




Indlæg senest redigeret d. 22.03.2012 21:41 af Bruger #16945
Overvej at lave vurderingen på det tidspunkt du genererer den array af integers som du senere leder efter max-værdien i.



t