(寻找被移除的元素)问题:原有长度为 n+1公差为1等升数列,将数列输到程序的数组时移除了一个元素,导致长度为 n 的开序数组可能不再连续,除非被移除的是第一个或最后之个元素。需要在数组不连续时,找出被移除的元素。试补全程序。
#include <iostream
#include <vector>
using namespace std;
int find missing(vector<int>& nums) {
int left = 0, right = nums.size() - 1;
while (left < right){
int mid = left + (right left) / 2;
if (nums[mid] - mid+ ____①____) {
____②____;
}else{
____③____
}
}
return ____④____;
}
int main(){
int n;
cin >> n;
vector<int> nums(n);
for (int i= 0; i< n; i++) cin >> nums[i];
int missing_number = find_missing(nums);
if_(missing_number == ____⑤____) {
cout << "Sequence is consecutive" << endl;
}else{
cout << "Missing number is " << ,missing numbeer << endl;
}
return 0;
}