Java #1. Найти первый неповторяющийся элемент в массиве2. Проверить, является ли строка палиндромом3. Найти два числа в отсортированном массиве с заданной суммой4. Найти два числа в неотсортированном массиве с заданной суммой5. Синхронизировать вывод «Тик» и «Так» двумя потоками6. Реализовать паттерн Decorator7. Спроектировать и реализовать сервис сокращения URL8. Разделить список на подсписки фиксированного размера9. Реализовать поиск человека по имени10. Поддерживать топ-5 максимальных значений в потоке чисел11. Реализовать паттерн Singleton12. Вывести текст в консоли в виде рамки13. Реализовать последовательности Фибоначчи длиной n14. Найти первый уникальный символ в строке15. Отсортировать массив чисел по возрастанию16. Реализовать простое двоичное дерево поиска17. Развернуть цифры целого числа18. Проверить, что символы строки повторяются не более двух раз19. Подсчитать количество `a` в бесконечно повторяющейся строке20. Отфильтровать список пользователей in-place21. Найти первый неповторяющийся элемент в массиве22. Развернуть строку в обратном порядке23. Реализовать `hashCode()` для класса Point24. Реализовать стек с получением минимума за O(1)25. Проверить число на простоту26. Найти слово с минимальной частотой встречаемости27. Подсчитать количество повторений каждого слова в строке28. Распределить грузы по грузовикам с минимальной недогруженностью29. Найти максимальное расстояние до ближайшего занятого места30. Проверить вертикальную симметрию набора точек31. Реализовать потокобезопасный перевод денег без дедлоков32. Реализовать перевод средств между аккаунтами33. Сжать подряд идущие одинаковые символы по коэффициенту34. Обеспечить чередование вывода foo и bar35. Найти первого человека по имени36. Реализовать консольную игру «Крестики-нолики» произвольного размера37. Объединить два отсортированных итератора38. Вывести дерево в виде иерархии39. Проверить строку на палиндром40. Реализовать хранилище с истекающими ключами41. Проверить палиндром в цикле без методов обработки строк42. Объединить два списка без дубликатов43. Проверить возможность продажи товара по времени и типу44. Отфильтровать большую последовательность чисел45. Подсчитать количество вхождений элементов списка46. Найти младшего пользователя для каждого имени47. Проверить являются ли строки перестановками друг друга48. Получить первый элемент списка с сохранением типа49. Сгруппировать анаграммы50. Реализовать собственный MyArrayList51. Сделать класс immutable52. Найти отсутствующее число в массиве53. Найти число, которое встречается один раз54. Разобраться с потоками и AtomicInteger55. Оставить по одному представителю каждой группы анаграмм56. Написать метод, вызывающий StackOverflowError57. Реализовать стек с получением максимума за O(1)58. Проверить работу Set с equals и hashCode59. Исправить тест сравнения DTO60. Найти число, ближайшее к systemId61. Объединить два отсортированных массива62. Удалить повторения символов, начиная с третьего63. Проверить, можно ли сделать строки одинаковыми за одно изменение64. Сравнить два объекта Person65. Удалить строки, начинающиеся с aaa66. Разделить разность максимума и минимума на среднее67. Удалить строки, начинающиеся с abc, через Iterator68. Сделать обработку задач потокобезопасной69. Реализовать собственный неизменяемый пустой список70. Проверить объект на null и его коллекцию на пустоту71. Реализовать односвязный список72. Развернуть односвязный список73. Найти первый уникальный элемент в массиве74. Исправить конкурентную запись в ConcurrentHashMap75. Продумать тесты для метода calc76. Удалить повторения элементов, начиная с третьего вхождения77. Реализовать класс узла дерева Node78. Найти первый неповторяющийся элемент в массиве79. Реализовать потокобезопасный Singleton