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

(寻找被移除的元素)问题:原有长度为 n+1公差为1等升数列,将数列输到程序的数组时移除了一个元素,导致长度为 n 的开序数组可能不再连续,除非被移除的是第一个或最后之个元素。需要在数组不连续时,找出被移除的元素。

试补全程序。

01 #include <iostream
02 #include <vector>
03
04 using namespace std;
05
06 int find missing(vector<int>& nums) (
07 int left = 0, right = nums.size() - 1;
08 while (left < right){
09   int mid = left + (right  left) / 2;
10   if (nums[mid] - mid+ ①) (
11        ②;
12    }else{
13      ③
14    }
15   }
16  return ④;
17 }
18
19 int main() (
20    int n;
21 cin >> n;
22 vector<int> nums(n);
23 for (int i= 0; i< n; i++) cin >> nums[i];
24 int missing_number = find_missing(nums);
25 if_(missing_number == ⑤) {
26     cout << "Sequence is consecutive" << endl;
27 }else{
28    cout << "Missing number is " << ,missing numbeer << endl;
29 }
30 return 0;
31 }
第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
评论
177
点击