Comments 13
Из 10 штук ни одного русскоязычного… Печальная статистика.
-2
Ээээээ… Codeforces. Создана Мишей Мирзаяновым. Русскоязычен. Почти все задачи формулируются на двух языках — русском и английском.
Мне кажется, вы несколько переутомились и устали в это прекрасное январское утро. Вам стоит отдохнуть.
Мне кажется, вы несколько переутомились и устали в это прекрасное январское утро. Вам стоит отдохнуть.
+3
Добавлю:
Sphere Online Judge
Code Abbey
Project Euler 1/3 доступна на HackerRank и на Codewars
POJ Peking University
CodeEval отчасти
Kaggle тоже можно использовать для практики
Checkio
Exercism
Sphere Online Judge
Code Abbey
Project Euler 1/3 доступна на HackerRank и на Codewars
POJ Peking University
CodeEval отчасти
Kaggle тоже можно использовать для практики
Checkio
Exercism
+3
Что насчет acm.timus.ru? Когда то был весьма популярен.
+3
А в topcoder уже можно решать задачки без участия в соревнованиях?
Ну и интерфейс — когда я в последний раз туда заходил, он был невероятно ужасен, хуже только фейсбук.
0
Попробовал codewars. Дошел до 5kyu и надоело. Причем надоело даже раньше, чем бросил раньше, какое-то время еще писал задачи для прокачки рейтинга. Проблема, что все задачи очень похожи, можно выделить всего несколько типов, причем абсолютно все легко решаемые, с определенным уровнем подготовки, а сложность, зачастую, лишь показатель того сколько ты убьешь на написание кода времени. Это на всех ресурсах так или есть проекты с задачами поинтересней?
0
Есть полностью русскоязычный acmp.ru/index.asp?main=tasks и там много прикольных алгоритмических задач. Да в основном рассчитан на учащихся, но задачи отсортированы по тематикам и сложности. Выбор языков не так уж и широк, но для начинающих вполне достаточен.
+1
По-моему, решение задачек на этих сайтах сродни решению сканвордов и кроссвордов. Неужели кому-то в IT не хватает реальных задач?
0
Да, интервьюирующим программистов.
+1
К сожалению, некоторые люди решают реальные задачи через заднее место, абсолютно не задумываясь о том, что же они творят. И им бы хорошо было бы как раз порешать задачи начального/среднего уровня, чтобы не делать банальных глупостей.
Как пример, реальная ситуация, которую пришлось решать. Мобильное приложение умирало при добавлении нескольких тысяч элементов в список. Вскрытие показало, что элементы добавляются по одному. На каждый вызов элемента вызывается сортировка всего списка. На каждый вызов метода сравнения в компараторе вызывается полный просмотр другого списка поменьше, на 10-100 элементов). Теперь посчитаем сложность при размере одного списка N и второго M.
Добавляется N элементов. Сортировка на каждое добавление NlgN, итого уже (N^2)lgN. Ну и раз при каждом сравнении мы пробегаем по другому списку, получаем (N^2)*M*lgN. И все вот этого просто для создания сортированного списка с некоторыми проверками при сортировке. После рефакторинга значение, которое искали в коротком списке было закешировано, ибо не менялось, а добавление с сортировкой превратились в TreeSet. И стало все N*lgN.
Как пример, реальная ситуация, которую пришлось решать. Мобильное приложение умирало при добавлении нескольких тысяч элементов в список. Вскрытие показало, что элементы добавляются по одному. На каждый вызов элемента вызывается сортировка всего списка. На каждый вызов метода сравнения в компараторе вызывается полный просмотр другого списка поменьше, на 10-100 элементов). Теперь посчитаем сложность при размере одного списка N и второго M.
Добавляется N элементов. Сортировка на каждое добавление NlgN, итого уже (N^2)lgN. Ну и раз при каждом сравнении мы пробегаем по другому списку, получаем (N^2)*M*lgN. И все вот этого просто для создания сортированного списка с некоторыми проверками при сортировке. После рефакторинга значение, которое искали в коротком списке было закешировано, ибо не менялось, а добавление с сортировкой превратились в TreeSet. И стало все N*lgN.
+3
Sign up to leave a comment.
10 самых популярных сайтов для соревнований программистов на начало 2018 года