-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathday2_array_missingAndRepeating.cpp
More file actions
68 lines (59 loc) · 1.67 KB
/
day2_array_missingAndRepeating.cpp
File metadata and controls
68 lines (59 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <bits/stdc++.h>
using namespace std;
pair<int,int> missingAndRepeating(vector<int> &arr, int n)
{
vector<int> vect(n+1, 0);
// vect.push_back(0);
int missing = 0 , repeated = 0;
for(int i= 0; i< n+1;i++){
if (vect[arr[i]] == 0) vect[arr[i]] = arr[i];
// else vect[arr[i]] = arr[i];
else {
repeated = arr[i];
// break;
}
}
// for (auto ele : vect) {
// cout << ele << " ";
// }
for(int i= 1; i< n+1;i++){
if (vect[i] == i) continue;
else {
missing = i;
// break;
}
}
return make_pair(missing, repeated);
}
int main(){
vector<int> arr= {1 ,3 ,22, 17, 5, 30, 7 ,8, 24, 9, 11, 12, 13, 14, 15, 32, 2 ,16, 19, 4, 28, 23 ,16 ,10 ,25 ,33, 27, 21, 35, 6 ,20, 18 ,26 ,34 ,29 };
int n = arr.size();
// cout<<n<<endl;
pair<int, int> p = missingAndRepeating(arr,n );
cout << p.first << " " << p.second;
// vector<int> vect(n+1, 0);
// // vect.push_back(0);
// int missing = 0 , repeated = 0;
// for(int i= 0; i < n+1;i++){
// if (vect[arr[i]] == 0) vect[arr[i]] = arr[i];
// // else vect[arr[i]] = arr[i];
// else {
// repeated = arr[i];
// // break;
// }
// }
// cout << vect[7]<<endl;
// for (int i = 0;i< n+1; i++) {
// cout << vect[i] << " ";
// }
// for(int i= 1; i< n;i++){
// if (vect.at(i) == i) continue;
// else {
// missing = i;
// // break;
// }
// }
// cout<<endl;
// cout<< missing<< " " << repeated;
return 0;
}