创建个人网站,企业年金离职的时候怎么办,h5网站开发工具,营销型网站建设汽车题目
给定一个排序数组和一个目标值#xff0c;在数组中找到目标值#xff0c;并返回其索引。如果目标值不存在于数组中#xff0c;返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
示例 1:
输入: nums [1,3,5,6], target 5
输出: 2示例 2:…题目
给定一个排序数组和一个目标值在数组中找到目标值并返回其索引。如果目标值不存在于数组中返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
示例 1:
输入: nums [1,3,5,6], target 5
输出: 2示例 2:
输入: nums [1,3,5,6], target 2
输出: 1示例 3:
输入: nums [1,3,5,6], target 7
输出: 4
提示:
1 nums.length 104-104 nums[i] 104nums 为 无重复元素 的 升序 排列数组-104 target 104 代码
采用二分法
#includestdio.h
#includestdlib.hint searchInsert(int* nums, int numsSize, int target);int main()
{int nums[5]{1,3,5,6};int target 2;printf(%d,searchInsert(nums,5,target));return 0;
}int searchInsert(int* nums, int numsSize, int target)
{int low0,highnumsSize-1;int midnumsSize;if(numsSize0)return 0;while(lowhigh){mid(highlow)/2;if(nums[mid]target){highmid-1;}else if(nums[mid]target){lowmid1;}else return mid;}if(nums[mid]!target){int i;for(i0;inumsSizenums[i]target;i);midi;}return mid;
}