lintcode 搜索插入位置

作者: yzawyx0220 | 来源:发表于2017-01-04 15:50 被阅读25次

    给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。
    你可以假设在数组中无重复元素。
    样例
    [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;
        }
    };
    

    相关文章

      网友评论

        本文标题:lintcode 搜索插入位置

        本文链接:https://www.haomeiwen.com/subject/vlnovttx.html