Esta es una pregunta de la entrevista de Google, vea aquí un enlace de YouTube.
La tarea:
Encuentre 2 enteros de una lista desordenada que sumen a un entero dado.
- Dada una lista desordenada de enteros, encuentre 2 enteros que sumen un valor dado, imprima estos 2 enteros e indique el éxito (salida 0). No necesitan ser números particulares (es decir, los primeros 2 enteros que suman el número correcto), cualquier par que sume al valor funcionará.
- un entero es positivo y mayor que cero.
- una lista de enteros puede estar en cualquier estructura de datos, incluido un archivo de enteros, un entero por línea.
- Si no se pueden encontrar enteros, indique una falla (salida 1).
- deben devolverse dos enteros en diferentes posiciones en la lista. (es decir, no puede devolver el mismo número desde la misma posición dos veces)
(Nota: en el video, estos no son exactamente los requisitos. El 'entrevistador' cambió sus múltiples veces).
p.ej.
sum2 8 <<EOF
1
7
4
6
5
3
8
2
EOF
Imprime 3y el 5estado de salida es 0. Tenga en cuenta que en esto 1,7y 2,6también se permitirían resultados.
sum2 8 <<EOF
1
2
3
4
Devuelve el estado de salida 1 ya que no hay combo posible. 4,4no está permitido, según la regla 5.