1. 程式人生 > >leetcode 35. 搜索插入位置(Search Insert Position)

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

earch d+ pty 位置 假設 不存在 lis n) sea

目錄

  • 題目描述:
  • 示例 1:
  • 示例 2:
  • 示例 3:
  • 示例 4:
  • 解法:

題目描述:

給定一個排序數組和一個目標值,在數組中找到目標值,並返回其索引。如果目標值不存在於數組中,返回它將會被按順序插入的位置。

你可以假設數組中無重復元素。

示例 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;
        }
        
    }
};

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