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.
-----------------------
Input: [1,3,5,6], 5
Output: 2
-----------------------
Input: [1,3,5,6], 2
Output: 1
-----------------------
Input: [1,3,5,6], 7
Output: 4
-----------------------
Input: [1,3,5,6], 0
Output: 0
------------------------------------------------------------------------------------------------------------------------
返回target在有序数组中的位置。如果没有找到,就返回这个数应该放在的位置:
代码如下:
int searchInsert(vector<int>& nums, int target) {
if(nums.capacity() == 0)
return 0;
if(target > nums[nums.capacity() - 1]) //如果要找的数比最后一个数还要大,它的位置应该在末尾
return nums.capacity();
for(int i = 0; i < nums.capacity(); i++){
if(nums[i] >= target) //找到这个数,或者把它放在第一个比它大的数的位置
return i;
}
}