Oppgave 1
| Permutasjoner med samme verdi først | Sum antall |
| 5 står først | 26 |
| 4 står først | 26 |
| 3 står først | 38 |
| 2 står først | 46 |
| 1 står først | 52 |
Gjennomsnittet: (26 + 26 + 38 + 46 + 52)/120 = 188/120 = 2/3 + 2/4 + 2/5.
Her kommer alle de 120 permutasjonene av tallene 1 2 3 4 5 og for hver permutasjon er de tallene som er større enn det neste største foran markert med fet type:
1 2 3 4 5 1 2 3 5 4 1 2 4 3 5 1 2 4 5 3
1 2 5 3 4 1 2 5 4 3 1 3 2 4 5 1 3 2 5 4
1 3 4 2 5 1 3 4 5 2 1 3 5 2 4 1 3 5 4 2
1 4 2 3 5 1 4 2 5 3 1 4 3 2 5 1 4 3 5 2
1 4 5 2 3 1 4 5 3 2 1 5 2 3 4 1 5 2 4 3
1 5 3 2 4 1 5 3 4 2 1 5 4 2 3 1 5 4 3 2
2 1 3 4 5 2 1 3 5 4 2 1 4 3 5 2 1 4 5 3
2 1 5 3 4 2 1 5 4 3 2 3 1 4 5 2 3 1 5 4
2 3 4 1 5 2 3 4 5 1 2 3 5 1 4 2 3 5 4 1
2 4 1 3 5 2 4 1 5 3 2 4 3 1 5 2 4 3 5 1
2 4 5 1 3 2 4 5 3 1 2 5 1 3 4 2 5 1 4 3
2 5 3 1 4 2 5 3 4 1 2 5 4 1 3 2 5 4 3 1
3 1 2 4 5 3 1 2 5 4 3 1 4 2 5 3 1 4 5 2
3 1 5 2 4 3 1 5 4 2 3 2 1 4 5 3 2 1 5 4
3 2 4 1 5 3 2 4 5 1 3 2 5 1 4 3 2 5 4 1
3 4 1 2 5 3 4 1 5 2 3 4 2 1 5 3 4 2 5 1
3 4 5 1 2 3 4 5 2 1 3 5 1 2 4 3 5 1 4 2
3 5 2 1 4 3 5 2 4 1 3 5 4 1 2 3 5 4 2 1
4 1 2 3 5 4 1 2 5 3 4 1 3 2 5 4 1 3 5 2
4 1 5 2 3 4 1 5 3 2 4 2 1 3 5 4 2 1 5 3
4 2 3 1 5 4 2 3 5 1 4 2 5 1 3 4 2 5 3 1
4 3 1 2 5 4 3 1 5 2 4 3 2 1 5 4 3 2 5 1
4 3 5 1 2 4 3 5 2 1 4 5 1 2 3 4 5 1 3 2
4 5 2 1 3 4 5 2 3 1 4 5 3 1 2 4 5 3 2 1
5 1 2 3 4 5 1 2 4 3 5 1 3 2 4 5 1 3 4 2
5 1 4 2 3 5 1 4 3 2 5 2 1 3 4 5 2 1 4 3
5 2 3 1 4 5 2 3 4 1 5 2 4 1 3 5 2 4 3 1
5 3 1 2 4 5 3 1 4 2 5 3 2 1 4 5 3 2 4 1
5 3 4 1 2 5 3 4 2 1 5 4 1 2 3 5 4 1 3 2
5 4 2 1 3 5 4 2 3 1 5 4 3 1 2 5 4 3 2 1
Oppgave 2
public static int antallNestMaks(int[] a) { if (a.length < 2) throw new IllegalArgumentException("Må ha a.length >= 2"); int maksverdi = a[0], nestmaksverdi = a[1]; if (maksverdi < nestmaksverdi) { maksverdi = a[1]; nestmaksverdi = a[0]; } int antall = 0; for (int i = 2; i < a.length; i++) { if (a[i] > nestmaksverdi) { antall++; // testen er sann if (a[i] > maksverdi) { nestmaksverdi = maksverdi; // ny nest størst maksverdi = a[i]; // ny størst } else { nestmaksverdi = a[i]; // ny nest størst } } } return antall; } // antallNestMaks
Oppgave 3
Det beste tilfellet får vi hvis de to største ligger først. Da trengs én sammenligning for å avgjøre hvem av dem som er størst. Deretter vil sammenligningen a[i] > nestmaksverdi bli utført n - 2 ganger og er usann hver gang. Tilsammen n - 1 sammenligninger.