组合题5 个小题
已作答 0 / 5
- (寻找被移除的元素)问题: 原有长度为 n+1 公差为 1 等差数列,将数列输到程序的数组时移除了一个元素,导致长度为 n 的连续数组可能不再连续,除非被移除的是第一个或最后一个元素。需要在数组不连续时,找出被移除的元素。试补全程序。
1#include <iostream>2#include <vector>3using namespace std;4int find_missing(vector<int>& nums) {5 int left = 0, right = nums.size() - 1;6 while (left < right){7 int mid = left + (right - left) / 2;8 if (nums[mid] == mid + ①) {9 ②;10 } else {11 ③;12 }13 }14 return ④;15}16int main() {17 int n;18 cin >> n;19 vector<int> nums(n);20 for (int i = 0; i < n; i++) cin >> nums[i];21 int missing_number = find_missing(nums);22 if (missing_number == ⑤) {23 cout << "Sequence is consecutive" << endl;24 }else{25 cout << "Missing number is " << missing_number << endl;26 }27 return 0;28}⑤处应填( )