Solución

@arkzado·hace 4dTypeScript
solution.tsTypeScript
function searchRotatedArray(nums: number[], target: number): number {
  // TODO: Implementa tu solución aquí
  let izquierdo: number = 0;
  let derecho: number = nums.length - 1;
  let mitad = null;
  while(izquierdo <= derecho){

    mitad = Math.floor((izquierdo + derecho) / 2);
    if(nums[mitad] === target) return mitad;

    if(nums[izquierdo] <= nums[mitad]){
      if(target >= nums[izquierdo] && target <= nums[mitad]){
        derecho = mitad - 1;
      }
      else{
        izquierdo = mitad + 1;
      }
    }
    else{
      if(target >= nums[mitad] && target <= nums[derecho]){
        izquierdo = mitad + 1;
      }
      else{
        derecho = mitad - 1
      }
    }
  }

  return - 1;
}

// No modificar: necesario para evaluar el resultado.
export { searchRotatedArray };
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.