#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int left = 0, right = nums.size() - 1;
int mid ;
while (left <= right)
{
mid = (left + right) / 2;
if (nums[mid] < target)
left = mid + 1;
else
right = mid - 1;
}
if (left == nums.size())
nums.push_back(target);
else if (nums[left] != target)
nums.insert(nums.begin() + left, target);
return left;
}
};
int main()
{
Solution s1;
vector<int> w = { 1,2,3,4,5,7,8,9,10 };
cout<<s1.searchInsert(w, 12)<<endl;
for (int i = 0; i < w.size(); i++)
{
cout << w[i] << " ";
}
}
C++ 二分查找和插入
最新推荐文章于 2024-02-23 21:28:57 发布