跳至主要內容

LeetCode 704.二分查找

张威小于 1 分钟数据结构与算法二分查找数组

LeetCode 704.二分查找open in new window

题目描述:有序数组nums,查找target,成功返回下标,失败返回-1

int binarySearch(vector<int> &nums, int target) {
    int left = 0;
    int right = nums.size();
    while(left < right) {
        int middle = left + (right - left) / 2;
        if(nums[middle] < target) {
            left = middle + 1;
        }
        else if( nums[middle] == target) {// 注意==,而不是=
            return middle;
        }
        else {
            right = middle;
        }
    }
    return -1;
}