题目

search insert position


算法

  • 二分查找:O(lgn)

代码

* 直接代码


class Solution{

public:

    int SearchInsert(vector<int>& nums,int target){

        for(int i=0;i<nums.size();i++)

            if(nums[0]>=target)  return i;

        return nums.size();

    }

};

* 二分查找


class Solution{

public:

    int searchInsert(vector<int>& nums, int target){

        if(nums.back()<target)  return nums.size();

         //back()返回末位元素

        int left=0,right=nums.size()-1;

        while(left<right){

            int mid=left+(right-left)/2;

            if(nums[mid]==target) return mid;

            else if(nums[mid]<target) left=mid+1;

            else right=mid;

        }

        return right;

};

results matching ""

    No results matching ""