不是VIP会员,不能显示答案

题目解答

题目:
(寻找被移除的元素)问题:原有长度为 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 + __(1)__ ) {

__(2)__ ;

} else {

__(3)__ ;

}

}

return __(4)__ ;

}



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 == __(5)__) {

cout << "Sequence is consecutive" << endl;

} else {

cout << "Missing number is " << missing_number << endl;

}

return 0;

}





选择题

1) ⑴处应填( )。

2) ⑵处应填( )。

3) ⑶处应填( )。

4) ⑷处应填( )。

5) ⑸处应填( )。
考点:
分析:
解答:
评论:
老师: