首页 > 编程语言 > 详细

数组插入数的下标位置

时间:2019-03-18 16:01:08      阅读:151      评论:0      收藏:0      [点我收藏+]

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

思路:二分,注意一下最后循环结束时,游标r的位置,不清楚可以加一个判断语句,如果num是【r】大于等于target那么是r,否则就是r+1的位置

技术分享图片

 

class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if(nums.empty()) return 0;
int l=0,r=nums.size()-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;
}
return nums[r]>=target?r:r+1;


}
};

数组插入数的下标位置

原文:https://www.cnblogs.com/zzas0/p/10552570.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!