Notice: Undefined index: name in /usr/www/lib/views/home/viewtitle.html on line 188
-完善程序 第 19 题
(寻找被移除的元素)问题:原有长度为 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 题 ⑸处应填( )。

解答部分以后会开放。