[ create a new paste ] login | about

Link: http://codepad.org/bm94Y7OG    [ raw code | output | fork ]

C, pasted on May 31:
#include<math.h>
#include<stdio.h>
int missing(int arr[],int n)
{
    int i=0;
    while(i<n)
    {
        if (arr[i]-1 >= n)
            i++;
        else if(arr[i] < 0)
        {
            arr[abs(arr[i])-1]=-(arr[abs(arr[i])-1]);
            i++;
        }
        else
        {
            arr[arr[i]-1]=-arr[arr[i]-1];
            i++;
        }
    }



    for(i=0;i<n;i++)
    {
    if(arr[i]>0)
            return i+1;
    }
}


int main()
{
    int arr[]={7,6,1,9,10,5,2,4,8};
   printf("missing number is %d\n",missing(arr,9));
    return 0;
}


Output:
1
missing number is 3


Create a new paste based on this one


Comments: