多题目

(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;

08while (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]

发表评论

登录 后再回复