Компоновщик CLR / CLI завершается с ошибкой LNK2022 - Пользовательские атрибуты не согласованы

Я не знаю точно, что вы ищете, но довольно простое время O (n * k) и O (k). Это самый большой К, поэтому ему нужно было бы наброситься на него.

Для грубых для min k (результат) можно заменить кучу

private int[] FindKBiggestNumbersM(int[] testArray, int k)
{
    int[] result = new int[k];
    int indexMin = 0;
    result[indexMin] = testArray[0];
    int min = result[indexMin];

    for (int i = 1; i < testArray.Length; i++)
    {
        if(i < k)
        {
            result[i] = testArray[i];
            if (result[i] < min)
            {
                min = result[i];
                indexMin = i;
            }
        }
        else if (testArray[i] > min)
        {
            result[indexMin] = testArray[i];
            min = result[indexMin];
            for (int r = 0; r < k; r++)
            {
                if (result[r] < min)
                {
                    min = result[r];
                    indexMin = r;
                }
            }
        }
    }
    return result;
}
13
задан Deduplicator 15 November 2014 в 23:23
поделиться