LeetCode35題 搜尋插入位置 C語言
阿新 • • 發佈:2021-02-04
LeetCode35題 搜尋插入位置 C語言
- 搜尋插入位置
給定一個排序陣列和一個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。
你可以假設陣列中無重複元素。
示例 1:
輸入: [1,3,5,6], 5
輸出: 2
示例 2:
輸入: [1,3,5,6], 2
輸出: 1
示例 3:
輸入: [1,3,5,6], 7
輸出: 4
示例 4:
輸入: [1,3,5,6], 0
輸出: 0
C語言程式碼
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nums[100]={1,3,5,6};
int searchInsert();
printf("%d",searchInsert(nums,4,0));
return 0;
}
int searchInsert(int* nums,int numsSize,int target){
/* 使用二分查詢來搜尋target */
int left=0, right=numsSize-1;
while(left<=right){ //遍歷尋找目標值,未找到則退出迴圈
int mid= (left+right)/2;
if(target>nums[mid]){
left=mid+1;
}else if(target<nums[mid]){
right=mid-1;
}else{
return mid; //如果找到目標值,則返回num[mid]
}
}
return left;
}
給大佬跪了