Il s'agit d'une question d'entrevue Google, voir ici pour un lien youtube.
La tâche:
Trouvez 2 entiers dans une liste non ordonnée qui totalisent un entier donné.
- Étant donné une liste non ordonnée d'entiers, recherchez 2 entiers qui totalisent une valeur donnée, imprimez ces 2 entiers et indiquez le succès (sortie 0). Ils n'ont pas besoin d'être des nombres particuliers (c'est-à-dire les 2 premiers entiers additionnant au bon nombre), n'importe quelle paire qui additionne la valeur fonctionnera.
- un entier est positif et supérieur à zéro.
- une liste d'entiers peut être dans n'importe quelle structure de données, y compris un fichier d'entiers - un entier par ligne.
- si aucun entier ne peut être trouvé, indiquer un échec (sortie 1).
- deux entiers à des positions différentes dans la liste doivent être retournés. (c'est-à-dire que vous ne pouvez pas renvoyer deux fois le même numéro à partir de la même position)
(Remarque: dans la vidéo, ce ne sont pas exactement les exigences. L'enquêteur a changé ses multiples fois.)
par exemple.
sum2 8 <<EOF
1
7
4
6
5
3
8
2
EOF
Imprime 3
et 5
et le statut de sortie est 0. Notez que cela 1,7
et 2,6
serait également autorisé des résultats.
sum2 8 <<EOF
1
2
3
4
Renvoie l'état de sortie 1 car aucun combo possible. 4,4
n'est pas autorisé, selon la règle 5.