TwoNumberSum

 


Two Number Sum | Suma de Dos Números...
Explicando dos maneras de resolver este algoritmo:
  • Primera: Colocamos un puntero al principio (l) y otro al final (r) del array (a), comparamos con la sumatoria (s) esperada (si es igual, regresamos ese par), si la suma esperada es mayor a la suma del contenido (c) en ambos punteros, movemos el puntero de la izquierda hacia el siguiente índice. Si en algún punto, nos pasamos en la sumatoria (sin obtener la esperada), movemos el puntero que se encuentra a la derecha más hacia el centro. Si ambos punteros se encuentran y nunca consiguen suman el valor esperado, se regresa un array vacío. Algoritmo con mejor eficiencia de espacio.
  • Segunda: Colocamos la resta (m) de la suma esperada (s) menos el primer número (n) en el array (a) en un directorio (d), si en algún momento conseguimos que la suma esperada menos el valor de un número en el array sea igual a uno de los valores que tenemos almacenados en el directorio, devolvemos ambos valores correctos. Si nunca se encuentra en el directorio, regresamos un array vacío. Algoritmo con mejor eficiencia de tiempo.

0 remarks:

Publicar un comentario