704. Binary Search
class Solution:
def search(self, nums: List[int], target: int) -> int:
# ascending order: 증가..숫자 순서
# target 찾으면 return index 아니면, -1
l, r = 0, len(nums)-1
"""
'==' 꼭 있어야 함, l>r 일때만 나와야 함.
"""
while l<=r:
m = (l+r)//2
if nums[m] < target:
# 오른쪽으로 가야됨
l = m+1
elif target < nums[m]:
# 왼쪽으로..
r = m-1
else: # target == nums[m] 같으면
return m
# 여기까지 왔으면.. 없는 것임
return -1
class Solution:
def search(self, nums: List[int], target: int) -> int:
# 이진트리로 검색
l, r = 0, len(nums)-1
while l<=r:
m = (l+r)//2
if nums[m] == target:
return m
elif nums[m] < target:
# m 이 오른쪽으로 가야되므로
l = m+1
else: # nums[m] > target:
# m 이 왼쪽으로 와야하므로
r = m-1
# 없으면
return -1