Search Index
Search Index
Este problema consisten en implementar busqueda binaria
Solucion
# @param {Integer[]} nums
# @param {Integer} target
# @return {Integer}
def search_insert(nums, target)
izq = 0
der = nums.length
while izq <= der
mid = (izq+der)/2
if nums[mid]==nil || mid == nil
break
end
if nums[mid]<target
izq+=1
elsif nums[mid]>target
der -=1
else
return mid
end
end
izq
end
Solo que por algun motivo tenia que verificar que los dos valores no fueran nulos aunque cuando imprimia los valores en ningun momento estos eran nulos, y el input nunca era nulo, pero si quitaba esas 3 lineas el programa no funcionaba.
Esta es la solucion al problema 31 pero tambien funciona para el problema 704 aunque no es la optima
# @param {Integer[]} nums
# @param {Integer} target
# @return {Integer}
def search_insert(nums, target)
izq = 0
der = nums.length
while izq <= der
mid = (izq+der)/2
if nums[mid]==nil || mid == nil
break
end
if nums[mid]<target
izq+=1
elsif nums[mid]>target
der -=1
else
return mid
end
end
-1
end