2012-04-23 4 views
2

Я программист на Java. Я нахожу это много раз, даже если мой алгоритм верен, я получаю ограничение по времени на моих представлениях с кодеком. Существуют ли какие-то методы, которые следует использовать при подаче решений на Java в конкурсах программирования?Решение проблем с кодеками в Java

+1

простая оптимизация кода, например, создание переменных final также работает –

+0

Сравните свое решение с «лучшим». Возможно, у вас есть склонность использовать массивы, в которых должны быть сделаны хэшмапы или тому подобное. (Если это означает, что «Превышен лимит времени».) К счастью, это не означает, что ваши навыки для понимания алгоритмов плохие, так что удачи. –

+0

У меня та же проблема, codechef - не лучшая платформа для тестирования ваших алгоритмических навыков imho. – nikhil

ответ

4

На CodeChef все представления в Java имеют 2x времени, чем их родной язык (например, c/C++/pascal). Однако одна вещь, о которой идет речь, заключается в том, что судья начинает вести себя очень медленно, когда потребление памяти идет высоко, что часто случается с решениями Java. Судья CodeChef работает с настройками памяти 64 МБ для всех программ Java. Вы должны попробовать и использовать как можно меньше памяти и попробовать и запустить одно и то же решение локально с -Xms = 64 МБ.

Увеличенный временной интервал может быть вызван тем, что при использовании памяти в памяти программы максимально допустимый максимум (в данном случае это 64 МБ), JVM вызывает сборщик мусора, который интенсивно использует процессор и, следовательно, задержки выполнение программы.

Смежные вопросы