LeetCode 35. Search Insert Position C语言

问题描述:

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.

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

意思就是寻找插入位置,思路就是二分法。

代码:

int searchInsert(int* nums, int numsSize, int target) {
    if(numsSize == 0){
        return 0;
    }
    int l = 0;
    int r = numsSize - 1;
    while(l <= r){
        int mid = (l + r) / 2;
        if(nums[mid] == target){
            return mid;
        }
        if(nums[mid] < target){
            l = mid + 1;
        }
        else{
            r = mid - 1;
        }
    }
    return l;
}

 

你可能感兴趣的:(每日LeetCode)