代码随想录集训营-DAY1

二分查找有递归和非递归写法,但两者关键都在于如何处理边界条件按和进一步确定Middle,left和right
二分查找的思路总体比较简单
class Solution {
public:
    int search(vector<int>&amp; nums, int target) {
        int left=0;
        int right=nums.size()-1;
        while(left<=right){
            int middle=(right-left)/2+left;
            if(nums[middle]==target)
            {
                return middle;
            }
            else if(nums[middle]>target)
            {
                right=middle-1;
            }
            else{
                left=middle+1;
            }
        }
        return -1;
    }
};
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务