Oppgave 1
For å kjøre en test kan du gjøre følgende:
$ javac *.java $ java Teque < inputs/eksempel_input 3 5 9 5 1
Her antar vi at du har lastet ned inputfilene og plassert dem i mappen oppgave1/ som også inneholder Teque.java.
For å teste på større eksempler kan du gjøre følgende:
$ java Teque < inputs/input_100 | cmp - outputs/output_100
Dersom ingenting skjer passerer testen. Dersom det er noe galt vil du få en utskrift som ser slik ut:
$ java Teque < inputs/input_100 | cmp - outputs/output_100 - outputs/output_100 differ: char 1, line 1
Vi forventer ikke at programmet ditt er raskt nok til å håndtere alle testene. Løsningsforslaget løser input_1000000 på ca. 1 sekund.
Oppgave 3
For å lese inn input som et array kan main-metoden din se slik ut:
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int[] sortedArray = in.lines().mapToInt(i -> Integer.parseInt(i)).toArray();
// Oppgaven begynner her
}
For å teste programmet ditt kan du bruke programmet BalanceChecker.java.
$ seq 20 | java BalanceArray | java BalanceChecker
Dersom programmet gjør som det skal bør du få følgende utskrift:
Dette treet ser balansert ut!
Dersom programmet ditt inneholder en feil bør du i stedet se:
$ seq 20 | java BalanceArray | java BalanceChecker Dette treet ser ikke helt balansert ut... prøv igjen!
Programmet bør fungere helt likt for oppgave (a) og (b). Altså kan du også kjøre følgende:
$ seq 20 | java BalanceHeap | java BalanceChecker Dette treet ser balansert ut!