c_cpp 给定排序数组和目标值,如果找到目标,则返回索引。如果不是,则返回索引,如果它是inse,则返回它

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 给定排序数组和目标值,如果找到目标,则返回索引。如果不是,则返回索引,如果它是inse,则返回它相关的知识,希望对你有一定的参考价值。

int search_insert(vector<int> A, int target) {
    if(A.empty()) return -1;
    if(target < A[0] || target > A[A.size()-1]) return -1;
    int low = 0, high = A.size()-1;
    while(low <= high) {
        int mid = low + (high-low)/2;
        if(target == A[mid]) return mid;
        if(target < A[mid]) high = mid - 1;
        else low = mid + 1;
    }
    return low;         // gist, should return low if not find
} 
 

以上是关于c_cpp 给定排序数组和目标值,如果找到目标,则返回索引。如果不是,则返回索引,如果它是inse,则返回它的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp [bs] [array]搜索范围。给定排序的整数数组,找到给定目标值的起始位置和结束位置。 O(log n)

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

算法week4

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

(查找)找到数组中的指定值得起始和结束位置

Leetcode(11)-搜索插入位置