Google 태그 관리자 아이콘

알고리즘 풀이

.leetcode(704. Binary Search)

silvergoni 2022. 1. 17. 08:13
반응형

https://leetcode.com/problems/binary-search/

 

1. 2022.01.17 시도

소요시간: 25분

class Solution {
    public int search(int[] nums, int target) {
        if (nums == null) {
            return -1;
        }

        return search(nums, target, 0, nums.length-1);
    }
    
    private int search(int[] nums, int target, int start, int end) {
        if (start > end ) {
            return -1;
        }
        int middle = (start + end)/2;
        if (target == nums[middle]) {
            return middle;
        } else if (target < nums[middle]) {
            return search(nums, target, start, middle-1);
        } else {
            return search(nums, target, middle+1, end);
        }
    }
}

풀이 접근 과정

가운데를 찾고 targe과 비교하면서 답을 찾아간다. 범위설정이 키포인트다.

 

느낀점

  • 정말 기초중에 기초인데 풀려니 멘붕이 왔다. middle-1, middle+1과 첫 범위설정이 넘나 이해가 잘 안되었다. 왼쪽, 오른쪽 마지막 범위 설정이 어렵네 다시 풀어봐야겠다.

 


알고리즘 정리노트: .leetcode(알고리즘 문제풀이 접근)

반응형

 

'알고리즘 풀이' 카테고리의 다른 글

.leetcode(844. Backspace String Compare)  (0) 2022.01.22
.leetcode(709. To Lower Case)  (0) 2022.01.17
.leetcode(112. Path Sum)  (0) 2022.01.16
.leetcode(7. Reverse Integer)  (0) 2022.01.16
.leetcode(9. Palindrome Number)  (0) 2022.01.10