赞
踩
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 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
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/search-insert-position
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int i;
for(i = 0; i < nums.size(); ++i)
{
if(target <= nums[i])
{
return i;
}
}
return i;
}
};
class Solution { public: int searchInsert(vector<int>& nums, int target) { if(target <= nums[0]) return 0; if(target > nums[nums.size()-1]) return nums.size(); int i = 0, j = nums.size()-1, mid, ans = 1; while(i <= j) { mid = i + (j-i)/2; if(nums[mid] == target) return mid; else if(nums[mid] > target) j = mid-1, ans = mid;//不知取哪边,这种写法比较好 else i = mid+1; } return ans; } };
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。