题库 NOIP CSP J/S信奥赛 题目列表 (寻找被移除的元素)问题:原有长度为n+1公差为1等升数...
组合题

(寻找被移除的元素)问题:原有长度为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题 单选

①处应填( )

A.

1

B.

nums[0]

C.

right

D.

left

第2题 单选

②处应填( )

A.

left=mid+1

B.

right=mid-1

C.

right=mid

D.

left=mid

第3题 单选

③处应填( )

A.

left=mid+1

B.

right=mid-1

C.

right=mid

D.

left=mid

第4题 单选

④处应填( )

A.

left+nums[0]

B.

right+nums[0]

C.

mid+nums[0]

D.

right+1

第5题 单选

⑤处应填( )

A.

nums[0]+n

B.

nums[0]+n-1

C.

nums[0]+n+1

D.

nums[n-1]

题目信息
普及组 初赛 2023 完善程序
-
正确率
0
评论
781
点击
QQ
公众号
客服
扫一扫