3가지 방법으로 구현 연습
3가지 방법으로 구현 연습
#12시 25분 시작 -> 12시40분 끝
#3가지 방법으로 구현 (반복문, 재귀, bisect 라이브러리 활용)
class Solution:
def search(self, nums: List[int], target: int) -> int:
left = 0
right = len(nums)-1
while left <= right:
if left == right:
if nums[left] == target:
return left
mid = (left+right)//2
if nums[mid] > target:
right = mid-1
elif nums[mid] < target:
left = mid+1
else:
return mid
return -1
#12시 25분 시작 -> 12시40분 끝
#3가지 방법으로 구현 (반복문, 재귀, bisect 라이브러리 활용)
class Solution:
def search(self, nums: List[int], target: int) -> int:
left = 0
right = len(nums)-1
def binary_search(left,right):
if left > right:
return -1
if left == right:
if nums[left] == target:
return left
mid = (left+right)//2
if nums[mid] == target:
return mid
elif nums[mid] > target:
return binary_search(left,mid-1)
elif nums[mid] < target:
return binary_search(mid+1,right)
return binary_search(left,right)
#12시 25분 시작 -> 12시40분 끝
#3가지 방법으로 구현 (반복문, 재귀, bisect 라이브러리 활용)
import bisect
class Solution:
def search(self, nums: List[int], target: int) -> int:
index = bisect.bisect_left(nums,target)
if index != len(nums) and nums[index] == target:
return index
return -1
자유 형식
자유 형식
수고하셨습니다!