【LeetCode】92. Search Insert Position

题目描述(Easy)

Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

You may assume no duplicates in the array.

题目链接

https://leetcode.com/problems/search-insert-position/description/

Example 1:

Input: [1,3,5,6], 5
Output: 2

Example 2:

Input: [1,3,5,6], 2
Output: 1

Example 3:

Input: [1,3,5,6], 7
Output: 4

Example 4:

Input: [1,3,5,6], 0
Output: 0

算法分析

二分法查找。

提交代码:

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int beg = 0, end = nums.size() - 1;
        
        while (beg <= end)
        {
            int mid = (beg + end) / 2;
            if (target > nums[mid])
                beg = mid + 1;
            else if (target < nums[mid])
                end = mid - 1;
            else
                return mid;
        }
        
        return beg;
    }
};

猜你喜欢

转载自blog.csdn.net/ansizhong9191/article/details/82997797