C Exercises: Find the first missing positive integer from a given unsorted integer array
C Programming Practice: Exercise-28 with Solution
Write a C programming to find the first missing positive integer from a given unsorted integer array.
C Code:
//https://github.com/begeekmyfriend/leetcode/blob/master/041_first_missing_positive/missing_positive.c
#include <stdio.h>
#include <stdlib.h>
static inline void swap_val(int *x, int *y)
{
int tmp = *x;
*x = *y;
*y = tmp;
}
static int first_Missing_Positive_num(int* nums, int nums_size)
{
if (nums_size < 1) {
return 1;
}
int i = 0;
while (i < nums_size) {
if (nums[i] != i + 1 && nums[i] > 0 && nums[i] <= nums_size && nums[i] != nums[nums[i] - 1]) {
swap_val(nums + i, nums + nums[i] - 1);
} else {
i++;
}
}
for (i = 0; i < nums_size; i++) {
if (nums[i] != i + 1) break;
}
return i + 1;
}
int main()
{
int i, count = 4;
int nums[4] = {3,4,-1,1};
printf("%d\n", first_Missing_Positive_num(nums, count));
return 0;
}
Sample Output:
2
Flowchart:
C Programming Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a C programming to find the first missing positive integer from a given unsorted integer array.
Next: C Basic Declarations and Expressions Home
What is the difficulty level of this exercise?
C Programming: Tips of the Day
C Programming - Why do all the C files written by my lecturer start with a single # on the first line?
In the very early days of pre-standardised C, if you wanted to invoke the preprocessor, then you had to write a # as the first thing in the first line of a source file. Writing only a # at the top of the file affords flexibility in the placement of the other preprocessor directives.
From an original C draft by the great Dennis Ritchie himself:
12. Compiler control lines
[...] In order to cause [the] preprocessor to be invoked, it is necessary that the very first line of the program begin with #. Since null lines are ignored by the preprocessor, this line need contain no other information.
That document makes for great reading (and allowed me to jump on this question like a mad cat).
I suspect it's the lecturer simply being sentimental - it hasn't been required certainly since ANSI C.
Ref : https://bit.ly/2Mb8OVZ
- New Content published on w3resource:
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- React - JavaScript Library
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework