LeetCode/Grind169

704. Binary Search

hyunkookim 2025. 4. 22. 03:48

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

'LeetCode > Grind169' 카테고리의 다른 글

235. Lowest Common Ancestor of a Binary Search Tree ☆  (1) 2025.04.22
733. Flood Fill  (1) 2025.04.22
242. Valid Anagram  (0) 2025.04.22
226. Invert Binary Tree  (0) 2025.04.22
125. Valid Palindrome  (0) 2025.04.22