How can I find the smallest covering prefix of an array in Java?

Find the first covering prefix of a given array.

A non-empty zero-indexed array A consisting of N integers is given. The first covering префиксом массива A является наименьшее целое число P такое, что и такое, что каждое значение, которое встречается в массиве A также последовательно.

Например, первый префикс покрытия массива A с A [0] = 2, A [1] = 2, A [2] = 1, A [3] = 0, A [4] = 1 равно 3, поскольку последовательность A [0], A [1], A [2], A [3], равное 2, 2, 1, 0, содержит все значения, которые встречаются в массив A.

Мое решение -

int ps ( int[] A ) 
{
    int largestvalue=0;
    int index=0;   

    for(each element in Array){
        if(A[i]>largestvalue)
        {
            largestvalue=A[i];
            index=i;
        }
    }

    for(each element in Array)
    {
        if(A[i]==index)
            index=i; 
    }   
    return index;
}

Но это работает только для этого ввода, это не обобщенное решение.

5
задан Martijn Pieters 25 October 2014 в 09:12
поделиться