[LeetCode] (704), 바이너리 검색

제목 설명

주어 n정수 배열 (순서 오름차순) 소자가 정렬 nums하고 목표 값 target, 검색 기능 작성 nums하여 target목표 값 인덱스 되돌아가 있다면, 그렇지 않으면 반환, -1.

输入: nums = [-1,0,3,5,9,12], target = 9
输出: 4
解释: 9 出现在 nums 中并且下标为 4

문제 해결 아이디어

그것은 순수한 이분법에주의를 기울입니다 템플릿의 절반 .

참조 코드

class Solution {
public:
    int search(vector<int>& nums, int target) {
        int length = nums.size();
        int left = 0, right = length - 1;
        while(left < right){
            int mid = left + ((right - mid + 1) >> 1);
            if(nums[mid] > target)
                right = mid - 1;
            else
                left = mid;
        }
        
        if(nums[left] == target)
            return left;
        else
            return -1;
    }
    
};
게시 된 415 개 원래 기사 · 원 찬양 (603) ·은 15 만 + 조회수

추천

출처blog.csdn.net/ft_sunshine/article/details/104064378