All numbers from 1 to n exist in array a [n-1], except for one number removed, to find the number of missing.
# Include <stdio. h> # include <stdlib. h> // All numbers from 1 to n exist in array a [n-1], except for one number removed, to find the number of missing. // Overflow time complexity O (N), space complexity O (1) int missing0 (int A [], int N) {int sum = (n + 1) * n/2; int I; for (I = 0; I <n-1; I ++) {sum-= A [I];} return sum ;} // time complexity O (n) space complexity O (n) int missing1 (int A [], int N) {int missing = 0; int B [N]; int I; memset (B, 0, sizeof (B); for (I = 0; I <n-1; I ++) {B [A [I]-1] = 1 ;} for (I = 0; I <n; I ++) {If (B [I] = 0) {missing = I + 1; break ;}} return missing ;} int main () {int A [8] = {,}; printf ("missing0 = % d \ n", missing0 (A, 9 )); printf ("missing1 = % d \ n", missing1 (A, 9); Return 0 ;}
Find the number of missing in 1-n