Hướng dẫn find missing number in unsorted array python - tìm số bị thiếu trong python mảng không được sắp xếp

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]

using0

using1int using3

using1int using6

using1using8using9int namespace1

namespace2namespace3

using1namespace5

using1using8namespace8

namespace2std;0

using1namespace5

using1int std;5

using1using8 std;8

std;9void0 void1

void2void3

using1namespace5

using1void7

namespace5

int findMissing[0

using0

using1int findMissing[4

using1int findMissing[7findMissing[8findMissing[9findMissing[8int1

using1int3

namespace5

C

int5

void findMissing[int arr[], int N]

using0

using1int using6

using1using8using9int namespace1

std;9namespace3

using1namespace5

using1int std;5

using1using8 std;8

using1namespace5

using1int std;5

using1using8using9int namespace1

std;9void0 void1

void2using06

using1namespace5

using1using10using9using12using13

namespace5

int findMissing[0

using0

using1int findMissing[4

using1int findMissing[7findMissing[8findMissing[9findMissing[8int1

using1int3

namespace5

C

using1using8 using9int int0

using1using8 using9int int9

std;9std;0

Java

using1using0

using31 using32

using31 using34

using35 using36

void2using65using62using67

std;9namespace5

using1using38 using39 void findMissing[int arr[], int N]

void2using76using57using78using57using67

std;9namespace5

std;9int using3

using35 using36

using1using38 using39 void findMissing[int arr[], int N]

using98using99using57using67

std;9namespace5

std;9namespace05

using1namespace5

std;9int using3

using1using0

std;9int using53using54 intusing56using57using58

std;9using8 using61using62using63

std;9int3

std;9using8 using61using62using74

namespace5

Python3

std;9int using85using62using67

void2void0 using95using62using97

using1using38 using39 void namespace12

std;9int namespace17using57namespace19____220namespace19namespace222219namespace24____219namespace26namespace19namespace28 namespace29

std;9int namespace32

using1namespace5

namespace38 namespace39

using1namespace91namespace92

using1namespace41namespace42 namespace43using62namespace45namespace46 namespace47namespace48using57using97

using1using8 namespace53namespace54 namespace55using9using62namespace58

std;9namespace60namespace61 using57namespace45namespace42 using57

using1std;17

C#

Is

std;9void0namespace79namespace42namespace42 using62namespace76

void2namespace85namespace42 namespace53namespace48 using57

void0 namespace94namespace42namespace42 namespace97namespace98

using1std;00namespace42 namespace43using57____219namespace28namespace19namespace20namespace19namespace24std;10

using1using8 using9int int9

namespace2std;0

using1namespace5

using1int std;51

using1using8 using9int int0

namespace2void0 void1

std;9using06

using1namespace5

using1std;65

std;23namespace5

std;23using39 using38 void std;72

std;23using0

using1intstd;77

using1int std;80

using1int3

std;23namespace5

namespace5

JavaScript

std;86

std;87 std;88

std;23std;90

std;23std;92

std;23using8 std;95

void2namespace3

std;9namespace5

std;9using8 void02

void2std;0

std;9namespace5

std;9void08

std;9using8 std;95

void2void0 void1

using98using06

std;9namespace5

std;9void20

namespace5

std;9void23

std;9void25

void26void27

void28

Độ 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 void34int void36int void38

using0

using1int void42

using1int void45

using1using8 using9int void50

std;9void52

using1void54 void55

namespace5

int findMissing[0

using0

using1int void62

using1int void65findMissing[8findMissing[9findMissing[8int1

using1int void72

using1void74

using1void54 void77

namespace5

C

int5

int void34int void36int void38

using0

using1int void42

using1void91

using1int void45

std;9void52

using1void54 void55

namespace5

int findMissing[0

using0

using1int void62

using1int void65findMissing[8findMissing[9findMissing[8int1

using1int void72

using1using10using9using12findMissing[21

namespace5

using1void54 void77

C

using1int void89

using1using8 void94

void findMissing[0

using1using0

Java

using31 using34

void2findMissing[57

using31 findMissing[26

using1namespace5

using35 using36

using1using0

using1using38 using39 int void34intfindMissing[35__

std;9int findMissing[42using57findMissing[44namespace28findMissing[46namespace28using67

std;9findMissing[85

using1namespace5

namespace5

std;9using8 using9int findMissing[53using62findMissing[55

std;9void54 findMissing[60

using1using38 using39 void namespace12

Các

std;9int findMissing[83

Python

namespace38 findMissing[90

using1findMissing[92namespace42 findMissing[94namespace48

using1int06namespace42 int08std;15

using1namespace91int44

C#

using1void54 findMissing[92namespace61 int14

using1using8 void94

void findMissing[0

using1using0

Java

using31 using34

void2void52

using31 findMissing[26

using1namespace5

using35 using36

using1using0

std;9intint83

using1using38 using39 int void34intfindMissing[35__

std;9int findMissing[42using57findMissing[44namespace28findMissing[46namespace28using67

std;9using8 using9int findMissing[53using62findMissing[55

using1namespace5

namespace5

PHP

int95

std;87 int97int98namespace19arr[], 00using97

using0

using1arr[], 04 arr[], 05arr[], 00 arr[], 07arr[], 00 arr[], 09

using1using8 arr[], 12arr[], 13 arr[], 14__

std;9arr[], 04 arr[], 23int98namespace43arr[], 13using58

using1void54 arr[], 04using67

namespace5

arr[], 33 arr[], 34arr[], 35arr[], 36

arr[], 37 arr[], 38

arr[], 39 arr[], 40arr[], 33namespace19arr[], 3737__744

arr[], 45using9arr[], 39arr[], 44

arr[], 49

JavaScript

std;86

using1std;87 arr[], 53

std;9arr[], 55

std;9using8 arr[], 58

void2void52

std;9void54 void55

using1namespace5

using1arr[], 67

using1arr[], 69

using1arr[], 71

using1arr[], 73

void28

Độ 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 void34int void36int void38

using0

using1int arr[], 88

using1using8 arr[], 91

std;9arr[], 93

std;9arr[], 95

using1namespace5

using1void54 void55

namespace5

int findMissing[0

using0

using1int void62

using1int void65findMissing[8findMissing[9findMissing[8int1

using1int16

using1void54 void77

namespace5

C

int5

int void34int void36int void38

using0

using1int arr[], 88

using1using8 arr[], 91

std;9arr[], 93

std;9arr[], 95

using1namespace5

using1void54 void55

namespace5

int findMissing[0

using0

using1int void62

using1int void65findMissing[8findMissing[9findMissing[8int1

using1void54 void77

namespace5

C

void findMissing[0

using1using10using9using122

using1using0

Java

using35 using36

void2arr[], 93

void2int93namespace28using58

std;9namespace5

std;9void54 void55

using1namespace5

Độ phức tạp về thời gian: O [N] Không gian phụ trợ: O [1]

using1using0

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

using1namespace5

namespace5

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 void34int void36int void38

using1int arr[], 88

using1using8 arr[], 91

using1namespace91N]89

C#

using1void54 void55

void findMissing[0

using1using10using9using122

using1using0

Java

using35 using36

void2arr[], 93

void2arr[], 95

std;9namespace5

std;9void54 void55

using1namespace5

Độ phức tạp về thời gian: O [N] Không gian phụ trợ: O [1]

using1using0

std;9intint83

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;9using035

using1namespace5

namespace5

Để 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.

using0

using1using044

Đi qua mảng từ đầu đến cuối.

using1using0

std;9arr[], 93

std;9using053

using1namespace5

using1void54 void55

namespace5

using1using061

using1arr[], 69

using1using065

void28

Độ 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 void34int void36int void38

using0

using1int using080

using1int using083

using1using8 using9int using088

std;9using090

using1using8 using9int using095

std;9using097

using1void54 using100

namespace5

int findMissing[0

using0

using1int void62

using1int void65findMissing[8findMissing[9findMissing[8int1

using1int void72

using1void74

using1void54 void77

namespace5

C

int5

int void34int void36int void38

using0

using1int using080

using1int using080

using1int using083

using1using8 using9int using088

std;9using090

using1using8 using9int using095

std;9using097

using1void54 using100

namespace5

int findMissing[0

using0

using1int void62

using1int void65findMissing[8findMissing[9findMissing[8int1

using1int void72

using1using10using9using12findMissing[21

namespace5

using1void54 void77

C

using1int using3

using1using0

using1using8 using143

using1using8 using148

void findMissing[0

void2using090

Java

void2using097

using35 using178

using1namespace5

using1using39 int void34int void36int void38

using1using0

std;9int using191using62using58

std;9int using196using57using67

std;9using8 using9int findMissing[53using57findMissing[55

std;9using249

using1namespace5

namespace5

Python3

std;9using8 using9int findMissing[53namespace28using214using57using216

std;9void54 using100

using1using38 using39 void using228

std;9int namespace17using57namespace19____228namespace19namespace20namespace19namespace24 namespace29

std;9int findMissing[83

std;9int void72

namespace38 N]30

using1using256namespace42 using258using62std;10

using1using262namespace42 using57

using1using8 namespace53namespace54 namespace55using9using57using272

std;9using256namespace42 using276

using1using8 namespace53namespace54 namespace55using9namespace28__

using1namespace91int44

C#

std;9using262namespace42 using291

using1void54 using294

void0 namespace94namespace42namespace42 namespace97namespace98

using1std;00namespace42 namespace43using57____219namespace28namespace19namespace20namespace19namespace24std;10

using1std;12namespace42 std;14std;15

using1int39namespace42 int41

using std;19

void2using090

using35 using36

void2using097

using35 using178

using1namespace5

using1using39 int void34int void36int void38

using1using0

std;9intint83

std;9int using191using62using58

std;9using8 using9int findMissing[53using57findMissing[55

std;9int91

using1namespace5

namespace5

std;9using8 using9int findMissing[53namespace28using214using57using216

int95

std;9void54 using100

using0

using1using38 using39 void using228

std;9int namespace17using57namespace19____228namespace19namespace20namespace19namespace24 namespace29

std;9int findMissing[83

std;9using394 arr[], 34using394 using416int98namespace43__

using1using8 using9arr[], 13 using425__

std;9using399 arr[], 34using399 using416arr[], 13using438

using1void54 using9using394 using416using399arr[], 44

namespace5

arr[], 33 arr[], 34arr[], 35arr[], 36

arr[], 37 arr[], 38

arr[], 39 arr[], 40arr[], 33namespace19arr[], 3737__744

arr[], 45using9arr[], 39arr[], 44

arr[], 49

JavaScript

std;86

namespace2std;87 using041

namespace2using0

std;9using471 using080

std;9using471 using083

std;9using8 using9using471 using480

std;9using8 using9using471 using485

std;9void54 using488

namespace2namespace5

namespace2using471 using493

namespace2using471 findMissing[83

namespace2using471 void72

namespace2arr[], 73

using1void28

Độ 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 void34int void36int void38

using0

using1int using517

using1using519 using520

std;9int using523

std;9void0 using526

void2using528

std;9namespace5

std;9using532 using0

void2using535

std;9namespace5

using1namespace5

using1using8 using9int using544

std;9void0 using547

void2void54 using550

std;9namespace5

using1namespace5

using1void54 using557

namespace5

int findMissing[0

using0

using1int void62

using1int void65findMissing[8findMissing[9findMissing[8int1

using1int void72

using1using576

using1void54 void77

namespace5

Java

using31 using34

using38 using35 using585

using1using38 using39 void namespace12

using1using0

Các

std;9int findMissing[83

std;9int using609

std;9namespace05

using1namespace5

using1using39 int void34intstd;29int void38

using1using0

std;9int findMissing[53using62using67

std;9using519 using520

void2int using634using57using67

void2void0 using639

using98using641

void2namespace5

void2using532 using0

using98using535

void2namespace5

std;9namespace5

std;9using8 using9int using657using62using659

void2void0 using662using57using664

using98void54 using667using57using67

void2namespace5

std;9namespace5

std;9void54 using676

using1namespace5

using1using39 void using682intstd;29__

using1using0

std;9int using693

std;9using695

std;9using697

using1namespace5

namespace5

Python3

namespace38 using702

using1namespace53namespace42 using62using67

using1using519 using710

std;9using712namespace42 using714namespace61 using57using67

std;9void0 using720using721 using7222namespace42 using724

void2using726namespace42 using728

std;9using532 namespace98

void2namespace53namespace48namespace42 using57using67

using1using8 using740namespace54 namespace55using743

std;9void0 using746namespace42 using740namespace48

void2void54 using740namespace48 using57using67

using1void54 using557

int findMissing[0

using1std;00namespace42 using770using57____219namespace28namespace19namespace20namespace19namespace24 using58

using1std;12namespace42 std;14using783

using1namespace91using786

C#

using std;19

using35 using36

using1using39 int void34intstd;29int void38

using1using0

std;9int using517

std;9using519 using520

void2int using809

void2void0 using639

using98using641

void2namespace5

void2using532 using0

using98using535

void2namespace5

std;9namespace5

std;9using8 using9int using830

void2void0 using833

using98void54 using836

void2namespace5

std;9namespace5

std;9void54 using557

using1namespace5

using1using39 void using682intstd;29__

using1using0

std;9int using693

std;9using695

std;9using697

using1namespace5

using1using38 using39 void std;72

using1using0

std;9intusing876

std;9int using879

std;9int using609

std;9using884

using1namespace5

namespace5

JavaScript

std;86

std;9using471 using891

std;9using471 findMissing[83

std;9using471 using609

std;9void20

using900std;87 using902

using1using0

std;9using471 using517

std;9using519 using520

void2int using809

void2void0 using639

using98using641

void2namespace5

void2using532 using0

using98using535

void2namespace5

std;9namespace5

std;9using8 using9int using830

void2void0 using833

using98void54 using836

void2namespace5

std;9namespace5

std;9void54 using557

using1namespace5

using1using39 void using682intstd;29__

using1using0

std;9int using693

std;9using695

std;9using697

using1namespace5

void28

using1using38 using39 void std;72 O[N], requires [N-1] comparisons
Auxiliary Complexity: O[1] 

std;9int using879Use the below idea to get the approach

std;9int using609

namespace5

  • JavaScript
    • std;9using471 using891size of the array, then continue.
    • std;9using471 findMissing[83
  • std;9using471 using609ans = size + 1.
  • using900std;87 using902
    • std;9using471 using517ans = index + 1
  • void2using471 using809ans as the missing value.

std;9using8 using9using471 using934

C++

#include

using1std;87 using952

std;9using471 using693

using0

Độ 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;9void0using9using985using986

using987using988using67

std;9namespace5

Đ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;9using998

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.

void2void3

using1namespace5

using1void7

namespace5

Thực hiện theo các bước để giải quyết vấn đề:

using0

Đ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.

using1int3

namespace5

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:

using35 using36

Nếu giá trị là dương gán ans = index + 1

std;23using0

Độ 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;9using988using67

namespace2namespace5

Thực hiện theo các bước để giải quyết vấn đề:

namespace2namespace074using57using67

using1namespace5

Đ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;9using99using57using67

using1namespace5

using1namespace05

std;23namespace5

std;23using38 using39 void namespace12

std;23using0

using1int namespace17using57namespace19namespace20namespace19namespace222219____namespace24namespace19namespace26namespace19namespace28 namespace29

using1int namespace32

using1int3

std;23namespace5

namespace5

Python3

namespace38 namespace135

using1using8 namespace53namespace54 namespace55using9using62using272

std;9void0 using9using985namespace148namespace61 using57

void2using988

std;9namespace157namespace42 using985namespace148namespace61 using57

std;9namespace164namespace46namespace42 namespace61using57

using1namespace85namespace42 namespace172namespace48 using57

using1using8 namespace53namespace54 namespace55using9using62using272

std;9void0 using9using985namespace148namespace61 using57

std;9namespace157namespace42 using985namespace148namespace61 using57

using1namespace91namespace92

std;9namespace164namespace46namespace42 namespace61using57

using1namespace85namespace42 namespace172namespace48 using57

std;9void0 namespace091using62namespace76

using1namespace225

C#

void2namespace85namespace42 namespace53namespace48 using57

void0 namespace94namespace42namespace42 namespace97namespace98

Các

std;23using0

using1namespace220namespace42 std;14std;15

using std;19

std;9using988using67

using38 using35 using36

namespace2using998

using1namespace5

std;23using38 using39 void findMissing[intstd;29int using974

using1namespace220namespace42 std;14std;15

using std;19

std;9using06

using1namespace5

using1std;65

using38 using35 using36

std;23using38 using39 void findMissing[intstd;29int using974

std;23using0

using1intstd;77

using1using8 using9int namespace246

using1int3

std;23namespace5

namespace5

namespace2void0 namespace249

std;86

namespace2int namespace255

std;23std;90

using1int namespace003

namespace2void0 namespace009

using98using988using67

void2namespace5

void2namespace314

void2using998

std;23namespace5

std;9namespace320

std;23using39 using38 void std;72

using1int std;80

using98using06

std;9namespace5

std;9void20

namespace5

std;9void23

std;9void25

void26void27

void28

JavaScript O[N] 
Auxiliary Space: O[1] 


Làm thế nào để bạn tìm thấy giá trị bị thiếu trong một mảng trong Python?

Tìm số thiếu bằng Python..
def findmissingnumbers [n]:.
số = set [n].
Chiều dài = Len [N].
đầu ra = [].
Đối với i trong phạm vi [1, n [-1]]:.
Nếu tôi không có số:.
đầu ra. nối [i].
trở lại sản lượng ..

Làm thế nào để bạn tìm thấy số còn thiếu trong một mảng số?

Cách tiếp cận đơn giản..
Tính tổng số của N Số tự nhiên đầu tiên là Total = N * [N + 1] / 2 ..
Tạo một tổng biến để lưu trữ tổng kết các phần tử của mảng ..
Lặp lại mảng từ đầu đến cuối ..
Cập nhật giá trị của tổng là sum = sum + mảng [i].
In số còn thiếu theo tổng số - tổng ..

Làm thế nào để bạn tìm thấy các yếu tố bị thiếu trong một mảng?

Cách tiếp cận.Lấy tổng của tất cả các phần tử trong mảng và trừ đi từ tổng các phần tử N+1.Ví dụ: nếu ARR = [1,2,4,5] thì hãy lấy tổng của tất cả các phần tử trong ARR và trừ đi từ tổng các phần tử LEN [ARR] +1.Giải thích: Từ phạm vi đã cho [1,6], 3 bị thiếu trong mảng.Take the sum of all elements in the array and subtract that from the sum of n+1 elements. For Example: If arr=[1,2,4,5] then take the sum of all elements in arr and subtract that from the sum of len[arr]+1 elements. Explanation: From the given range [1,6], 3 is missing from the array.

Làm thế nào để bạn tìm thấy số thiếu nhỏ nhất trong một mảng chưa được phân loại?

Tìm phần tử dương cuối cùng còn lại sau khi các phép trừ lặp đi lặp lại của phần tử dương nhỏ nhất từ tất cả các phần tử mảng.....
Các hoạt động tối thiểu mà tất cả các số nguyên từ [0, n] xuất hiện dưới dạng số thiếu dương nhỏ nhất [mex] ....
phần tử bị thiếu K-th trong một mảng chưa được sắp xếp ..

Bài Viết Liên Quan

Chủ Đề