Với một mảng mảng [] có kích thước n-1 với các số nguyên trong phạm vi [1, n], nhiệm vụ là tìm số còn thiếu từ N số nguyên đầu tiên.arr[] of size N-1 with integers in the range of [1, N], the task is to find the missing number from the first N integers.
Lưu ý: Không có bản sao trong danh sách. There are no duplicates in the list.
Examples:
Đầu vào: mảng [] = {1, 2, 4, 6, 3, 7, 8}, n = 8output: 5Explanation: số thiếu từ 1 đến 8 là 5 arr[] = {1, 2, 4, 6, 3, 7, 8}, N = 8
Output: 5
Explanation: The missing number between 1 to 8 is 5Đầu vào: mảng [] = {1, 2, 3, 5}, n = 5Output: 4Explanation: số thiếu từ 1 đến 5 là 4 arr[] = {1, 2, 3, 5}, N = 5
Output: 4
Explanation: The missing number between 1 to 5 is 4
Cách tiếp cận 1 [sử dụng băm]: Ý tưởng đằng sau cách tiếp cận sau làHashing]:The idea behind the following approach is
Các số sẽ nằm trong phạm vi [1, n], một mảng có kích thước n có thể được duy trì để lưu giữ hồ sơ của các phần tử có trong mảng đã cho [1, N], an array of size N can be maintained to keep record of the elements present in the given array
- Tạo một temp temp [] có kích thước n + 1 với tất cả các giá trị ban đầu là 0.temp[] of size n + 1 with all initial values as 0.
- Đi qua mảng đầu vào ARR [] và làm theo sau cho mỗi mảng [i] & nbsp;arr[], and do following for each arr[i]
- if [temp [mảng [i]] == 0] temp [mảng [i]] = 1 & nbsp;
- Traverse temp [] và đầu ra phần tử mảng có giá trị là 0 [đây là phần tử bị thiếu].temp[] and output the array element having value as 0 [This is the missing element].
Dưới đây là việc thực hiện phương pháp trên:
C++
#include
using
namespace
std;
void
findMissing[
int
arr[],
int
N]
using
0
using
1int
using
3
using
1int
using
6
using
1using
8using
9int
namespace
1
namespace
2namespace
3
using
1namespace
5
using
1using
8namespace
8
namespace
2std;
0
using
1namespace
5
using
1int
std;
5
using
1using
8 std;
8
std;
9void
0 void
1
void
2void
3
using
1namespace
5
using
1void
7
namespace
5
int
findMissing[
0
using
0
using
1int
findMissing[
4
using
1int
findMissing[
7findMissing[
8findMissing[
9findMissing[
8int
1
using
1int
3
namespace
5
C
int
5
void
findMissing[
int
arr[],
int
N]
using
0
using
1int
using
6
using
1using
8using
9int
namespace
1
std;
9namespace
3
using
1namespace
5
using
1int
std;
5
using
1using
8 std;
8
using
1namespace
5
using
1int
std;
5
using
1using
8using
9int
namespace
1
std;
9void
0 void
1
void
2using
06
using
1namespace
5
using
1using
10using
9using
12using
13
namespace
5
int
findMissing[
0
using
0
using
1int
findMissing[
4
using
1int
findMissing[
7findMissing[
8findMissing[
9findMissing[
8int
1
using
1int
3
namespace
5
C
using
1using
8 using
9int
int
0
using
1using
8 using
9int
int
9
std;
9std;
0
Java
using
1using
0
using
31 using
32
using
31 using
34
using
35 using
36
void
2using
65using
62using
67
std;
9namespace
5
using
1using
38 using
39 void
findMissing[
int
arr[],
int
N]
void
2using
76using
57using
78using
57using
67
std;
9namespace
5
std;
9int
using
3
using
35 using
36
using
1using
38 using
39 void
findMissing[
int
arr[],
int
N]
using
98using
99using
57using
67
std;
9namespace
5
std;
9namespace
05
using
1namespace
5
std;
9int
using
3
using
1using
0
std;
9int
using
53using
54 int
using
56using
57using
58
std;
9using
8 using
61using
62using
63
std;
9int
3
std;
9using
8 using
61using
62using
74
namespace
5
Python3
std;
9int
using
85using
62using
67
void
2void
0 using
95using
62using
97
using
1using
38 using
39 void
namespace
12
std;
9int
namespace
17using
57namespace
19____220namespace
19namespace
222219namespace
24____219namespace
26namespace
19namespace
28 namespace
29
std;
9int
namespace
32
using
1namespace
5
namespace
38 namespace
39
using
1namespace
91namespace
92
using
1namespace
41namespace
42 namespace
43using
62namespace
45namespace
46 namespace
47namespace
48using
57using
97
using
1using
8 namespace
53namespace
54 namespace
55using
9using
62namespace
58
std;
9namespace
60namespace
61 using
57namespace
45namespace
42 using
57
using
1std;
17
C#
Is
std;
9void
0namespace
79namespace
42namespace
42 using
62namespace
76
void
2namespace
85namespace
42 namespace
53namespace
48 using
57
void
0 namespace
94namespace
42namespace
42 namespace
97namespace
98
using
1std;
00namespace
42 namespace
43using
57____219namespace
28namespace
19namespace
20namespace
19namespace
24std;
10
using
1using
8 using
9int
int
9
namespace
2std;
0
using
1namespace
5
using
1int
std;
51
using
1using
8 using
9int
int
0
namespace
2void
0 void
1
std;
9using
06
using
1namespace
5
using
1std;
65
std;
23namespace
5
std;
23using
39 using
38 void
std;
72
std;
23using
0
using
1int
std;
77
using
1int
std;
80
using
1int
3
std;
23namespace
5
namespace
5
JavaScript
std;
86
std;
87 std;
88
std;
23std;
90
std;
23std;
92
std;
23using
8 std;
95
void
2namespace
3
std;
9namespace
5
std;
9using
8 void
02
void
2std;
0
std;
9namespace
5
std;
9void
08
std;
9using
8 std;
95
void
2void
0 void
1
using
98using
06
std;
9namespace
5
std;
9void
20
namespace
5
std;
9void
23
std;
9void
25
void
26void
27
void
28
Độ phức tạp về thời gian: O [N] Không gian phụ trợ: O [N] O[N]
Auxiliary Space: O[N]
Cách tiếp cận 2 [sử dụng tổng số N Số tự nhiên đầu tiên]: Ý tưởng đằng sau cách tiếp cận là sử dụng tổng số N số đầu tiên. The idea behind the approach is to use the summation of the first N numbers.
Tìm tổng của các số trong phạm vi [1, n] bằng công thức n * [n+1]/2. Bây giờ tìm tổng của tất cả các phần tử trong mảng và trừ nó khỏi tổng của n số tự nhiên đầu tiên. Điều này sẽ cung cấp giá trị của phần tử bị thiếu.[1, N] using the formula N * [N+1]/2. Now find the sum of all the elements in the array and subtract it from the sum of the first N natural numbers. This will give the value of the missing element.
Thực hiện theo các bước được đề cập dưới đây để thực hiện ý tưởng:
- Tính tổng của n số tự nhiên đầu tiên là sumtotal = n*[n+1]/2.sumtotal= N*[N+1]/2.
- Đi qua mảng từ đầu đến cuối.
- Tìm tổng của tất cả các phần tử mảng.
- In số còn thiếu dưới dạng sumtotal - tổng của mảng SumTotal – sum of array
Dưới đây là việc thực hiện phương pháp trên:
C++14
#include
using
namespace
std;
int
void
34int
void
36int
void
38
using
0
using
1int
void
42
using
1int
void
45
using
1using
8 using
9int
void
50
std;
9void
52
using
1void
54 void
55
namespace
5
int
findMissing[
0
using
0
using
1int
void
62
using
1int
void
65findMissing[
8findMissing[
9findMissing[
8int
1
using
1int
void
72
using
1void
74
using
1void
54 void
77
namespace
5
C
int
5
int
void
34int
void
36int
void
38
using
0
using
1int
void
42
using
1void
91
using
1int
void
45
std;
9void
52
using
1void
54 void
55
namespace
5
int
findMissing[
0
using
0
using
1int
void
62
using
1int
void
65findMissing[
8findMissing[
9findMissing[
8int
1
using
1int
void
72
using
1using
10using
9using
12findMissing[
21
namespace
5
using
1void
54 void
77
C
using
1int
void
89
using
1using
8 void
94
void
findMissing[
0
using
1using
0
Java
using
31 using
34
void
2findMissing[
57
using
31 findMissing[
26
using
1namespace
5
using
35 using
36
using
1using
0
using
1using
38 using
39 int
void
34int
findMissing[
35__
std;
9int
findMissing[
42using
57findMissing[
44namespace
28findMissing[
46namespace
28using
67
std;
9findMissing[
85
using
1namespace
5
namespace
5
std;
9using
8 using
9int
findMissing[
53using
62findMissing[
55
std;
9void
54 findMissing[
60
using
1using
38 using
39 void
namespace
12
Các
std;
9int
findMissing[
83
Python
namespace
38 findMissing[
90
using
1findMissing[
92namespace
42 findMissing[
94namespace
48
using
1int
06namespace
42 int
08std;
15
using
1namespace
91int
44
C#
using
1void
54 findMissing[
92namespace
61 int
14
using
1using
8 void
94
void
findMissing[
0
using
1using
0
Java
using
31 using
34
void
2void
52
using
31 findMissing[
26
using
1namespace
5
using
35 using
36
using
1using
0
std;
9int
int
83
using
1using
38 using
39 int
void
34int
findMissing[
35__
std;
9int
findMissing[
42using
57findMissing[
44namespace
28findMissing[
46namespace
28using
67
std;
9using
8 using
9int
findMissing[
53using
62findMissing[
55
using
1namespace
5
namespace
5
PHP
int
95
std;
87 int
97int
98namespace
19arr[],
00using
97
using
0
using
1arr[],
04 arr[],
05arr[],
00 arr[],
07arr[],
00 arr[],
09
using
1using
8 arr[],
12arr[],
13 arr[],
14__
std;
9arr[],
04 arr[],
23int
98namespace
43arr[],
13using
58
using
1void
54 arr[],
04using
67
namespace
5
arr[],
33 arr[],
34arr[],
35arr[],
36
arr[],
37 arr[],
38
arr[],
39 arr[],
40arr[],
33namespace
19arr[],
3737__744
arr[],
45using
9arr[],
39arr[],
44
arr[],
49
JavaScript
std;
86
using
1std;
87 arr[],
53
std;
9arr[],
55
std;
9using
8 arr[],
58
void
2void
52
std;
9void
54 void
55
using
1namespace
5
using
1arr[],
67
using
1arr[],
69
using
1arr[],
71
using
1arr[],
73
void
28
Độ phức tạp về thời gian: O [N] Không gian phụ trợ: O [1] O[N]
Auxiliary Space: O[1]
Sửa đổi cho tràn: Cách tiếp cận vẫn giữ nguyên nhưng có thể có tràn nếu N lớn. & NBSP; The approach remains the same but there can be an overflow if N is large.
Để tránh tràn số nguyên, hãy chọn một số từ phạm vi [1, n] và trừ một số từ mảng đã cho [don lồng trừ cùng một số hai lần]. Bằng cách này, có chiến thắng là bất kỳ số nguyên.
Algorithm:
- Tạo một tổng số biến = 1 sẽ lưu trữ số còn thiếu và biến bộ đếm c = 2.sum = 1 which will store the missing number and a counter variable c = 2.
- Đi qua mảng từ đầu đến cuối.
- Cập nhật giá trị của Sum là Sum = Sum - mảng [i] + C và tăng c bởi 1. Điều này thực hiện nhiệm vụ được đề cập trong ý tưởng trên]sum = sum – array[i] + c and increment c by 1. This performs the task mentioned in the above idea]
- In số còn thiếu dưới dạng tổng.sum.
Dưới đây là việc thực hiện phương pháp trên:
C++
#include
using
namespace
std;
int
void
34int
void
36int
void
38
using
0
using
1int
arr[],
88
using
1using
8 arr[],
91
std;
9arr[],
93
std;
9arr[],
95
using
1namespace
5
using
1void
54 void
55
namespace
5
int
findMissing[
0
using
0
using
1int
void
62
using
1int
void
65findMissing[
8findMissing[
9findMissing[
8int
1
using
1int
16
using
1void
54 void
77
namespace
5
C
int
5
int
void
34int
void
36int
void
38
using
0
using
1int
arr[],
88
using
1using
8 arr[],
91
std;
9arr[],
93
std;
9arr[],
95
using
1namespace
5
using
1void
54 void
55
namespace
5
int
findMissing[
0
using
0
using
1int
void
62
using
1int
void
65findMissing[
8findMissing[
9findMissing[
8int
1
using
1void
54 void
77
namespace
5
C
void
findMissing[
0
using
1using
10using
9using
122
using
1using
0
Java
using
35 using
36
void
2arr[],
93
void
2int
93namespace
28using
58
std;
9namespace
5
std;
9void
54 void
55
using
1namespace
5
Độ phức tạp về thời gian: O [N] Không gian phụ trợ: O [1]
using
1using
0
Sửa đổi cho tràn: Cách tiếp cận vẫn giữ nguyên nhưng có thể có tràn nếu N lớn. & NBSP;
Để tránh tràn số nguyên, hãy chọn một số từ phạm vi [1, n] và trừ một số từ mảng đã cho [don lồng trừ cùng một số hai lần]. Bằng cách này, có chiến thắng là bất kỳ số nguyên.
std;
9findMissing[
85
using
1namespace
5
namespace
5
Python3
Tạo một tổng số biến = 1 sẽ lưu trữ số còn thiếu và biến bộ đếm c = 2.
Đi qua mảng từ đầu đến cuối.
Cập nhật giá trị của Sum là Sum = Sum - mảng [i] + C và tăng c bởi 1. Điều này thực hiện nhiệm vụ được đề cập trong ý tưởng trên]
In số còn thiếu dưới dạng tổng.
Dưới đây là việc thực hiện phương pháp trên:
using
namespace
std;
int
void
34int
void
36int
void
38
using
1int
arr[],
88
using
1using
8 arr[],
91
using
1namespace
91N]
89
C#
using
1void
54 void
55
void
findMissing[
0
using
1using
10using
9using
122
using
1using
0
Java
using
35 using
36
void
2arr[],
93
void
2arr[],
95
std;
9namespace
5
std;
9void
54 void
55
using
1namespace
5
Độ phức tạp về thời gian: O [N] Không gian phụ trợ: O [1]
using
1using
0
std;
9int
int
83
Sửa đổi cho tràn: Cách tiếp cận vẫn giữ nguyên nhưng có thể có tràn nếu N lớn. & NBSP;
std;
9using
035
using
1namespace
5
namespace
5
Để tránh tràn số nguyên, hãy chọn một số từ phạm vi [1, n] và trừ một số từ mảng đã cho [don lồng trừ cùng một số hai lần]. Bằng cách này, có chiến thắng là bất kỳ số nguyên.
std;
86
Tạo một tổng số biến = 1 sẽ lưu trữ số còn thiếu và biến bộ đếm c = 2.
using
0
using
1using
044
Đi qua mảng từ đầu đến cuối.
using
1using
0
std;
9arr[],
93
std;
9using
053
using
1namespace
5
using
1void
54 void
55
namespace
5
using
1using
061
using
1arr[],
69
using
1using
065
void
28
Độ phức tạp về thời gian: O [n]. & NBSP; Chỉ cần một lần đi ngang của mảng. Không gian O[N]. Only one traversal of the array is needed.
Auxiliary Space:
O[1]. No extra space is needed
Cách tiếp cận 3 [sử dụng các hoạt động nhị phân]: Phương pháp này sử dụng kỹ thuật XOR để giải quyết vấn đề. & NBSP; & NBSP; This method uses the technique of XOR to solve the problem.
XOR có một số thuộc tính nhất định & nbsp;
- Giả sử A1 ⊕ A2 ⊕ A3. . . ⊕ an = a và a1 ⊕ a2 ⊕ a3. . . ⊕ AN-1 = B
- Sau đó a ⊕ b = một
Thực hiện theo các bước được đề cập dưới đây để thực hiện ý tưởng:
- Tạo hai biến a = 0 và b = 0a = 0 and b = 0
- Chạy một vòng từ i = 1 đến n:i = 1 to N:
- Đối với mỗi chỉ mục, hãy cập nhật a như a = a ^ ia as a = a ^ i
- Bây giờ đi qua mảng từ I = bắt đầu đến cuối.i = start to end.
- Đối với mỗi chỉ mục, cập nhật b là b = b ^ mảng [i].b as b = b ^ arr[i].
- Số thiếu là a ^ b.a ^ b.
Dưới đây là việc thực hiện phương pháp trên:
C++
#include
using
namespace
std;
int
void
34int
void
36int
void
38
using
0
using
1int
using
080
using
1int
using
083
using
1using
8 using
9int
using
088
std;
9using
090
using
1using
8 using
9int
using
095
std;
9using
097
using
1void
54 using
100
namespace
5
int
findMissing[
0
using
0
using
1int
void
62
using
1int
void
65findMissing[
8findMissing[
9findMissing[
8int
1
using
1int
void
72
using
1void
74
using
1void
54 void
77
namespace
5
C
int
5
int
void
34int
void
36int
void
38
using
0
using
1int
using
080
using
1int
using
080
using
1int
using
083
using
1using
8 using
9int
using
088
std;
9using
090
using
1using
8 using
9int
using
095
std;
9using
097
using
1void
54 using
100
namespace
5
int
findMissing[
0
using
0
using
1int
void
62
using
1int
void
65findMissing[
8findMissing[
9findMissing[
8int
1
using
1int
void
72
using
1using
10using
9using
12findMissing[
21
namespace
5
using
1void
54 void
77
C
using
1int
using
3
using
1using
0
using
1using
8 using
143
using
1using
8 using
148
void
findMissing[
0
void
2using
090
Java
void
2using
097
using
35 using
178
using
1namespace
5
using
1using
39 int
void
34int
void
36int
void
38
using
1using
0
std;
9int
using
191using
62using
58
std;
9int
using
196using
57using
67
std;
9using
8 using
9int
findMissing[
53using
57findMissing[
55
std;
9using
249
using
1namespace
5
namespace
5
Python3
std;
9using
8 using
9int
findMissing[
53namespace
28using
214using
57using
216
std;
9void
54 using
100
using
1using
38 using
39 void
using
228
std;
9int
namespace
17using
57namespace
19____228namespace
19namespace
20namespace
19namespace
24 namespace
29
std;
9int
findMissing[
83
std;
9int
void
72
namespace
38 N]
30
using
1using
256namespace
42 using
258using
62std;
10
using
1using
262namespace
42 using
57
using
1using
8 namespace
53namespace
54 namespace
55using
9using
57using
272
std;
9using
256namespace
42 using
276
using
1using
8 namespace
53namespace
54 namespace
55using
9namespace
28__
using
1namespace
91int
44
C#
std;
9using
262namespace
42 using
291
using
1void
54 using
294
void
0 namespace
94namespace
42namespace
42 namespace
97namespace
98
using
1std;
00namespace
42 namespace
43using
57____219namespace
28namespace
19namespace
20namespace
19namespace
24std;
10
using
1std;
12namespace
42 std;
14std;
15
using
1int
39namespace
42 int
41
using
std;
19
void
2using
090
using
35 using
36
void
2using
097
using
35 using
178
using
1namespace
5
using
1using
39 int
void
34int
void
36int
void
38
using
1using
0
std;
9int
int
83
std;
9int
using
191using
62using
58
std;
9using
8 using
9int
findMissing[
53using
57findMissing[
55
std;
9int
91
using
1namespace
5
namespace
5
std;
9using
8 using
9int
findMissing[
53namespace
28using
214using
57using
216
int
95
std;
9void
54 using
100
using
0
using
1using
38 using
39 void
using
228
std;
9int
namespace
17using
57namespace
19____228namespace
19namespace
20namespace
19namespace
24 namespace
29
std;
9int
findMissing[
83
std;
9using
394 arr[],
34using
394 using
416int
98namespace
43__
using
1using
8 using
9arr[],
13 using
425__
std;
9using
399 arr[],
34using
399 using
416arr[],
13using
438
using
1void
54 using
9using
394 using
416using
399arr[],
44
namespace
5
arr[],
33 arr[],
34arr[],
35arr[],
36
arr[],
37 arr[],
38
arr[],
39 arr[],
40arr[],
33namespace
19arr[],
3737__744
arr[],
45using
9arr[],
39arr[],
44
arr[],
49
JavaScript
std;
86
namespace
2std;
87 using
041
namespace
2using
0
std;
9using
471 using
080
std;
9using
471 using
083
std;
9using
8 using
9using
471 using
480
std;
9using
8 using
9using
471 using
485
std;
9void
54 using
488
namespace
2namespace
5
namespace
2using
471 using
493
namespace
2using
471 findMissing[
83
namespace
2using
471 void
72
namespace
2arr[],
73
using
1void
28
Độ phức tạp về thời gian: o [n] & nbsp; không gian phụ trợ: O [1] & nbsp; O[N]
Auxiliary Space: O[1]
Cách tiếp cận 4 [sử dụng Sắp xếpcyclic]: Ý tưởng đằng sau nó như sau: Cyclic Sort]: The idea behind it is as follows:
Tất cả các số mảng đã cho được sắp xếp và trong phạm vi từ 1 đến N-1. Nếu phạm vi là 1 đến n & nbsp; thì chỉ số của mọi phần tử mảng sẽ giống như [giá trị - 1].
Thực hiện theo các bước dưới đây để thực hiện ý tưởng:
- Sử dụng sắp xếp theo chu kỳ để sắp xếp các yếu tố trong thời gian tuyến tính.cyclic sort to sort the elements in linear time.
- Bây giờ di chuyển từ i = 0 đến cuối mảng:i = 0 to the end of the array:
- Nếu ARR [i] không giống như i+1 thì phần tử bị thiếu là [i+1].arr[i] is not the same as i+1 then the missing element is [i+1].
- Nếu tất cả các phần tử có mặt thì n là phần tử bị thiếu trong phạm vi [1, n].N is the missing element in the range [1, N].
Dưới đây là việc thực hiện phương pháp trên.
C++
#include
using
namespace
std;
int
void
34int
void
36int
void
38
using
0
using
1int
using
517
using
1using
519 using
520
std;
9int
using
523
std;
9void
0 using
526
void
2using
528
std;
9namespace
5
std;
9using
532 using
0
void
2using
535
std;
9namespace
5
using
1namespace
5
using
1using
8 using
9int
using
544
std;
9void
0 using
547
void
2void
54 using
550
std;
9namespace
5
using
1namespace
5
using
1void
54 using
557
namespace
5
int
findMissing[
0
using
0
using
1int
void
62
using
1int
void
65findMissing[
8findMissing[
9findMissing[
8int
1
using
1int
void
72
using
1using
576
using
1void
54 void
77
namespace
5
Java
using
31 using
34
using
38 using
35 using
585
using
1using
38 using
39 void
namespace
12
using
1using
0
Các
std;
9int
findMissing[
83
std;
9int
using
609
std;
9namespace
05
using
1namespace
5
using
1using
39 int
void
34int
std;
29int
void
38
using
1using
0
std;
9int
findMissing[
53using
62using
67
std;
9using
519 using
520
void
2int
using
634using
57using
67
void
2void
0 using
639
using
98using
641
void
2namespace
5
void
2using
532 using
0
using
98using
535
void
2namespace
5
std;
9namespace
5
std;
9using
8 using
9int
using
657using
62using
659
void
2void
0 using
662using
57using
664
using
98void
54 using
667using
57using
67
void
2namespace
5
std;
9namespace
5
std;
9void
54 using
676
using
1namespace
5
using
1using
39 void
using
682int
std;
29__
using
1using
0
std;
9int
using
693
std;
9using
695
std;
9using
697
using
1namespace
5
namespace
5
Python3
namespace
38 using
702
using
1namespace
53namespace
42 using
62using
67
using
1using
519 using
710
std;
9using
712namespace
42 using
714namespace
61 using
57using
67
std;
9void
0 using
720using
721 using
7222namespace
42 using
724
void
2using
726namespace
42 using
728
std;
9using
532 namespace
98
void
2namespace
53namespace
48namespace
42 using
57using
67
using
1using
8 using
740namespace
54 namespace
55using
743
std;
9void
0 using
746namespace
42 using
740namespace
48
void
2void
54 using
740namespace
48 using
57using
67
using
1void
54 using
557
int
findMissing[
0
using
1std;
00namespace
42 using
770using
57____219namespace
28namespace
19namespace
20namespace
19namespace
24 using
58
using
1std;
12namespace
42 std;
14using
783
using
1namespace
91using
786
C#
using
std;
19
using
35 using
36
using
1using
39 int
void
34int
std;
29int
void
38
using
1using
0
std;
9int
using
517
std;
9using
519 using
520
void
2int
using
809
void
2void
0 using
639
using
98using
641
void
2namespace
5
void
2using
532 using
0
using
98using
535
void
2namespace
5
std;
9namespace
5
std;
9using
8 using
9int
using
830
void
2void
0 using
833
using
98void
54 using
836
void
2namespace
5
std;
9namespace
5
std;
9void
54 using
557
using
1namespace
5
using
1using
39 void
using
682int
std;
29__
using
1using
0
std;
9int
using
693
std;
9using
695
std;
9using
697
using
1namespace
5
using
1using
38 using
39 void
std;
72
using
1using
0
std;
9int
using
876
std;
9int
using
879
std;
9int
using
609
std;
9using
884
using
1namespace
5
namespace
5
JavaScript
std;
86
std;
9using
471 using
891
std;
9using
471 findMissing[
83
std;
9using
471 using
609
std;
9void
20
using
900std;
87 using
902
using
1using
0
std;
9using
471 using
517
std;
9using
519 using
520
void
2int
using
809
void
2void
0 using
639
using
98using
641
void
2namespace
5
void
2using
532 using
0
using
98using
535
void
2namespace
5
std;
9namespace
5
std;
9using
8 using
9int
using
830
void
2void
0 using
833
using
98void
54 using
836
void
2namespace
5
std;
9namespace
5
std;
9void
54 using
557
using
1namespace
5
using
1using
39 void
using
682int
std;
29__
using
1using
0
std;
9int
using
693
std;
9using
695
std;
9using
697
using
1namespace
5
void
28
using
1using
38 using
39 void
std;
72 O[N], requires [N-1]
comparisons
Auxiliary Complexity: O[1]
std;
9int
using
879Use the below idea to get the approach
std;
9int
using
609
namespace
5
- JavaScript
std;
9using
471using
891size of the array, then continue.std;
9using
471findMissing[
83
std;
9using
471using
609ans = size + 1.using
900std;
87using
902std;
9using
471using
517ans = index + 1
void
2using
471using
809ans as the missing value.
std;
9using
8 using
9using
471 using
934
C++
#include
using
1std;
87 using
952
std;
9using
471 using
693
using
0
Độ phức tạp về thời gian: O [N], yêu cầu [N-1] Độ phức tạp so sánh: O [1] & NBSP;
Cách tiếp cận 5 [sử dụng các yếu tố làm chỉ mục và đánh dấu các địa điểm đã truy cập là tiêu cực]: Sử dụng ý tưởng dưới đây để có được cách tiếp cận
std;
9void
0using
9using
985using
986
using
987using
988using
67
std;
9namespace
5
Đi qua mảng. Trong khi đi qua, hãy sử dụng giá trị tuyệt đối của mọi yếu tố làm chỉ mục và làm cho giá trị tại chỉ mục này là âm để đánh dấu nó đã truy cập. Để tìm thấy thiếu, đi qua mảng một lần nữa và tìm kiếm một giá trị tích cực.
std;
9using
998
Thực hiện theo các bước để giải quyết vấn đề:
Đi qua mảng đã cho
Cách tiếp cận 5 [sử dụng các yếu tố làm chỉ mục và đánh dấu các địa điểm đã truy cập là tiêu cực]: Sử dụng ý tưởng dưới đây để có được cách tiếp cận
Đi qua mảng. Trong khi đi qua, hãy sử dụng giá trị tuyệt đối của mọi yếu tố làm chỉ mục và làm cho giá trị tại chỉ mục này là âm để đánh dấu nó đã truy cập. Để tìm thấy thiếu, đi qua mảng một lần nữa và tìm kiếm một giá trị tích cực.
void
2void
3
using
1namespace
5
using
1void
7
namespace
5
Thực hiện theo các bước để giải quyết vấn đề:
using
0
Đi qua mảng đã cho
Nếu giá trị tuyệt đối của phần tử hiện tại lớn hơn kích thước của mảng, thì hãy tiếp tục.
using
1int
3
namespace
5
khác nhân số [giá trị tuyệt đối của [phần tử hiện tại] -1] chỉ số th với -1.
Khởi tạo một biến ANS = Kích thước + 1.
Đi qua mảng và làm theo các bước:
using
35 using
36
Nếu giá trị là dương gán ans = index + 1
std;
23using
0
Độ phức tạp về thời gian: O [N], yêu cầu [N-1] Độ phức tạp so sánh: O [1] & NBSP;
Cách tiếp cận 5 [sử dụng các yếu tố làm chỉ mục và đánh dấu các địa điểm đã truy cập là tiêu cực]: Sử dụng ý tưởng dưới đây để có được cách tiếp cận
Đi qua mảng. Trong khi đi qua, hãy sử dụng giá trị tuyệt đối của mọi yếu tố làm chỉ mục và làm cho giá trị tại chỉ mục này là âm để đánh dấu nó đã truy cập. Để tìm thấy thiếu, đi qua mảng một lần nữa và tìm kiếm một giá trị tích cực.
std;
9using
988using
67
namespace
2namespace
5
Thực hiện theo các bước để giải quyết vấn đề:
namespace
2namespace
074using
57using
67
using
1namespace
5
Đi qua mảng đã cho
Cách tiếp cận 5 [sử dụng các yếu tố làm chỉ mục và đánh dấu các địa điểm đã truy cập là tiêu cực]: Sử dụng ý tưởng dưới đây để có được cách tiếp cận
Đi qua mảng. Trong khi đi qua, hãy sử dụng giá trị tuyệt đối của mọi yếu tố làm chỉ mục và làm cho giá trị tại chỉ mục này là âm để đánh dấu nó đã truy cập. Để tìm thấy thiếu, đi qua mảng một lần nữa và tìm kiếm một giá trị tích cực.
std;
9using
99using
57using
67
using
1namespace
5
using
1namespace
05
std;
23namespace
5
std;
23using
38 using
39 void
namespace
12
std;
23using
0
using
1int
namespace
17using
57namespace
19namespace
20namespace
19namespace
222219____namespace
24namespace
19namespace
26namespace
19namespace
28 namespace
29
using
1int
namespace
32
using
1int
3
std;
23namespace
5
namespace
5
Python3
namespace
38 namespace
135
using
1using
8 namespace
53namespace
54 namespace
55using
9using
62using
272
std;
9void
0 using
9using
985namespace
148namespace
61 using
57
void
2using
988
std;
9namespace
157namespace
42 using
985namespace
148namespace
61 using
57
std;
9namespace
164namespace
46namespace
42 namespace
61using
57
using
1namespace
85namespace
42 namespace
172namespace
48 using
57
using
1using
8 namespace
53namespace
54 namespace
55using
9using
62using
272
std;
9void
0 using
9using
985namespace
148namespace
61 using
57
std;
9namespace
157namespace
42 using
985namespace
148namespace
61 using
57
using
1namespace
91namespace
92
std;
9namespace
164namespace
46namespace
42 namespace
61using
57
using
1namespace
85namespace
42 namespace
172namespace
48 using
57
std;
9void
0 namespace
091using
62namespace
76
using
1namespace
225
C#
void
2namespace
85namespace
42 namespace
53namespace
48 using
57
void
0 namespace
94namespace
42namespace
42 namespace
97namespace
98
Các
std;
23using
0
using
1namespace
220namespace
42 std;
14std;
15
using
std;
19
std;
9using
988using
67
using
38 using
35 using
36
namespace
2using
998
using
1namespace
5
std;
23using
38 using
39 void
findMissing[
int
std;
29int
using
974
using
1namespace
220namespace
42 std;
14std;
15
using
std;
19
std;
9using
06
using
1namespace
5
using
1std;
65
using
38 using
35 using
36
std;
23using
38 using
39 void
findMissing[
int
std;
29int
using
974
std;
23using
0
using
1int
std;
77
using
1using
8 using
9int
namespace
246
using
1int
3
std;
23namespace
5
namespace
5
namespace
2void
0 namespace
249
std;
86
namespace
2int
namespace
255
std;
23std;
90
using
1int
namespace
003
namespace
2void
0 namespace
009
using
98using
988using
67
void
2namespace
5
void
2namespace
314
void
2using
998
std;
23namespace
5
std;
9namespace
320
std;
23using
39 using
38 void
std;
72
using
1int
std;
80
using
98using
06
std;
9namespace
5
std;
9void
20
namespace
5
std;
9void
23
std;
9void
25
void
26void
27
void
28
JavaScript O[N]
Auxiliary Space: O[1]