lintcode 搜索插入位置

给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。
你可以假设在数组中无重复元素。
样例
[1,3,5,6],5 → 2
[1,3,5,6],2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6],0 → 0
题目链接:http://www.lintcode.com/zh-cn/problem/search-insert-position/#
比较简单的一道二分查找的题

class Solution {
    /** 
     * param A : an integer sorted array
     * param target :  an integer to be inserted
     * return : an integer
     */
public:
    int searchInsert(vector<int> &A, int target) {
        // write your code here
        int i = 0,j = A.size();
        while (i < j) {
            int mid = (i + j) / 2;
            if (A[mid] >= target) j = mid;
            else i = mid + 1;
        }
        return i;
    }
};
    原文作者:yzawyx0220
    原文地址: https://www.jianshu.com/p/39402e66520a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞