leetcode 35 Search Insert Position

将一个整数插入一个已排序数组,如果已存在则返回其索引。

二分查找。

int searchInsert(vector<int>& nums, int target) {
    int size = nums.size();
    int start = 0;
    int end = size - 1;
    int i = size / 2;
    
    for (; start < end; i = (start + end) / 2) {
        if (target == nums[i])
            return i;
        else if (target > nums[i])
            start = i + 1;
        else if (target < nums[i])
            end = i - 1;
    }
    return nums[i]>=target?i:i + 1;
}

 

posted on 2018-01-22 14:11  willaty  阅读(158)  评论(0编辑  收藏  举报

导航