@@ -0,0 +1,1059 @@
+package com.vikramr.algorithms;%0A%0A/**************************************************************************/%0A/**%0A * @author Vikram Raman%0A */%0Apublic class Solution %7B%0A%0A%09public int firstMissingPositive(ArrayList%3CInteger%3E a) %7B%0A%09    if (a == null %7C%7C a.isEmpty())%0A%09    %7B%0A%09        return 1;%0A%09    %7D%0A%09    %0A%09    int start = 0;%0A%09    int end = a.size();%0A%09    %0A%09    while (start %3C end)%0A%09    %7B%0A%09        int num = a.get(start);%0A%09        %0A%09        if (num %3C 1 %7C%7C num %3E end %7C%7C num == start + 1)%0A%09        %7B%0A%09            start++;%0A%09            continue;%0A%09        %7D%0A%09        %0A%09        if (num %3E= 1 && num %3C= end)%0A%09        %7B%0A%09            int temp = a.get(num-1);%0A%09            if (temp == num)%0A%09            %7B%0A%09                start++;%0A%09                continue;%0A%09            %7D%0A%09            a.set(num-1, num);%0A%09            a.set(start, temp);%0A%09        %7D%0A%09    %7D%0A%09    %0A%09    int num = 1;%0A%09    for (int i=0; i %3C end; i++)%0A%09    %7B%0A%09        if (a.get(i) == num)%0A%09        %7B%0A%09            num++;%0A%09        %7D%0A%09        else%0A%09        %7B%0A%09            break;%0A%09        %7D%0A%09    %7D%0A%09    return num;%0A%09%7D%0A%7D%0A

Create MissingPositive.java