//https://leetcode.com/problems/search-insert-position/#/description
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int min = 0, max = nums.size() - 1;
// 条件是min <= max
while(min <= max){
int mid = min + (max - min) / 2;
// 找到了
if(nums[mid] == target){
return mid;
}
// 在左边
if(nums[mid] > target){
max = mid - 1;
} else {
// 在右边
min = mid + 1;
}
}
return min;
}
};
int main()
{
vector<int> v={1,3,5,6}; //c++11
Solution s;
cout << s.searchInsert(v,5)<<endl;
cout << s.searchInsert(v,2)<<endl;
cout << s.searchInsert(v,7)<<endl;
cout << s.searchInsert(v,0)<<endl;
return 0;
}
leetcode: Search Insert Position
最新推荐文章于 2017-06-30 11:12:43 发布