Solución
solution.tsTypeScript
def search_rotated_array(nums: list[int], target: int) -> int:
izq = 0
der = len(nums) - 1
medio = (izq + der)//2
valor_medio = nums[medio]
while izq <= der:
medio = (izq + der)//2
valor_medio = nums[medio]
if nums[izq] <= nums[der]:
if valor_medio == target:
return medio
elif valor_medio < target:
izq = medio + 1
continue
else:
der = medio - 1
continue
if valor_medio < nums[izq]:
if valor_medio < target < nums[der]:
izq = medio + 1
continue
else:
der = medio - 1
continue
if nums[izq] < valor_medio:
if nums[izq] < target < valor_medio:
der = medio - 1
continue
else:
izq = medio + 1
continue
if nums[izq] == valor_medio:
if valor_medio == target:
return medio
else:
izq = medio + 1
return -10respuestas