public static void Main()
var input = new int[] { 3, 4, -1, 1 };
var res = FirstMissingPositiveNumber(input);
Console.WriteLine("The missing number in array is " + res);
private static int FirstMissingPositiveNumber(int[] arr)
if(arr == null || arr.Length < 1)
if(arr[i] >= 0 && arr[i] < n && arr[arr[i]] != arr[i])
while(k < n && arr[k] == k)
return arr[0] == k ? k + 1 : k;
private static void Swap(int[] arr, int i, int j)
private static void Print(int[] arr)
Console.Write("Input Array is ");