Aca mi solucion cualquier aporte o comentario sera bien recibido:
` js
export function searchInRotatedArray(nums, objetivo) {
let inicio = 0;
let fin = nums.length - 1;
while (inicio <= fin) {
const medio = Math.floor((inicio + fin) / 2);
if (nums[medio] === objetivo) {
return medio;
}
// Verificar en qué mitad del arreglo estamos
if (nums[inicio] <= nums[medio]) {
// La primera mitad está ordenada
if (nums[inicio] <= objetivo && objetivo < nums[medio]) {
fin = medio - 1;
} else {
inicio = medio + 1;
}
} else {
// La segunda mitad está ordenada
if (nums[medio] < objetivo && objetivo <= nums[fin]) {
inicio = medio + 1;
} else {
fin = medio - 1;
}
}
}
return -1; // Si no se encuentra el objetivo
}
`
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?