Questa è una domanda di intervista di Google, vedi qui per un link di YouTube.
L'obiettivo:
Trova 2 numeri interi da un elenco non ordinato che si sommano a un dato numero intero.
- Dato un elenco non ordinato di numeri interi, trova 2 numeri interi che si sommano a un determinato valore, stampa questi 2 numeri interi e indica il successo (uscita 0). Non hanno bisogno di essere numeri particolari (cioè i primi 2 numeri interi che si sommano al numero giusto), qualsiasi coppia che sommi al valore funzionerà.
- un numero intero è positivo e maggiore di zero.
- un elenco di numeri interi può essere in qualsiasi struttura di dati incluso un file di numeri interi - un numero intero per riga.
- se non è possibile trovare numeri interi, indicare un errore (uscita 1).
- devono essere restituiti due numeri interi in posizioni diverse nell'elenco. (cioè non puoi restituire lo stesso numero dalla stessa posizione due volte)
(Nota: nel video, questi non sono esattamente i requisiti. L'intervistatore ha cambiato più volte.)
per esempio.
sum2 8 <<EOF
1
7
4
6
5
3
8
2
EOF
Stampa 3
e lo 5
stato di uscita è 0. Notare che in questo 1,7
e 2,6
sarebbero anche consentiti risultati.
sum2 8 <<EOF
1
2
3
4
Restituisce lo stato di uscita 1 poiché non è possibile alcuna combinazione. 4,4
non è consentito, come da regola 5.