leetcode 35. 搜索插入位置(Search Insert Position)

题目描述:

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

示例 1:

    输入: [1,3,5,6], 5
    输出: 2

示例 2:

    输入: [1,3,5,6], 2
    输出: 1

示例 3:

    输入: [1,3,5,6], 7
    输出: 4

示例 4:

    输入: [1,3,5,6], 0
    输出: 0

解法:


class Solution {
public:
    int searchInsert(vector
  
  
   
   & nums, int target) {
        if(nums.empty()){
            return 0;
        }else{
            int l=0, r=nums.size()-1;
            int mid = 0;
            while(l <= r){
                mid = l + (r-l)/2;
                if(nums[mid] == target){
                    return mid;
                }else if(nums[mid] < target){
                    l = mid+1;
                }else{
                    r = mid-1;
                }
            }
            return l;
        }
        
    }
};

  
  

猜你喜欢

转载自www.cnblogs.com/zhanzq/p/10555814.html