JAVA HJÆLP!

Tags:    java

hej!
Hvis jeg har en liste af koordinater og har fundet alle de mulige permutationer der er for f.eks. 3 (og deres længder er) (tallene er bare noget jeg har fundet på)

permutation: [1, 2, 3]
har længden 25.

permutation: [1, 3, 2]
har længden 20.

permutation:[2, 1, 3]
har længden 12.

permutationen: [2, 3, 1]
har længden 20.

permutationen: [3, 1, 2]
har længden 12

permutationen: [3, 2, 1]
har længden 20.

hvordan kan jeg så skrive en kode så jeg kun får udskrevet
permutation:[2, 1, 3]
har længden 12.

permutationen: [3, 1, 2]
har længden 12

da det er den/dem som har den korteste længde!




2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hejsa. Liv stillede det samme spørgsmål til samme problemstilling, går i eventuelt på studie sammen? :-)

Se tråden her:
http://www.udvikleren.dk/Java/Thread.aspx/3/23252/

Det du er nødt til at gøre er at samle alle permutationer samt deres længder, enten i et array eller en liste, hvis du ikke kender antallet af permutationer vi listen være nemmest. Herefter gennemløber du listen indtil du finder den permutation med kortest længde.



Hejsa. Liv stillede det samme spørgsmål til samme problemstilling, går i eventuelt på studie sammen? :-)

Se tråden her:
http://www.udvikleren.dk/Java/Thread.aspx/3/23252/

Det du er nødt til at gøre er at samle alle permutationer samt deres længder, enten i et array eller en liste, hvis du ikke kender antallet af permutationer vi listen være nemmest. Herefter gennemløber du listen indtil du finder den permutation med kortest længde.


Eller hvis du skal lave flere opslag (f.eks. finde de objekter med største længde) så have dem i en sorteret liste.
Så ligger den/de objekter med korteste længde altid i starten af listen og du kan gøre noget i denne stil:

[pre]
int shortestLength = list.get(0).getLength();
for (int i = 0; i < list.size() && list.get(i).getLength() == shortestLength; i++) {
System.out.println(list.get(i) + " har den korteste længde.");
}



t