35. Search Insert Position

来源:互联网 发布:开源建模软件 编辑:程序博客网 时间:2024/06/07 10:08

题目:
给定一个有序数组和目标值,如果将目标值插入有序数组插入后保持有序,返回目标值应该插入的下标。假设数组中没有重复元素。
例子:

[1,3,5,6], 5 → 2[1,3,5,6], 2 → 1[1,3,5,6], 7 → 4[1,3,5,6], 0 → 0

解题思路:
二分法


实现:

int searchInsert(vector<int>& nums, int target) {        int m = 0;        int n = nums.size() - 1;        int mid;        while (m <= n)        {            mid = (n + m) / 2;             if (nums[mid] < target)            {                m = mid + 1;            }            else if (nums[mid] > target)            {                n = mid - 1;            }            else            {                return mid;            }        }        return m;    }
原创粉丝点击