Лайвкодинг Java

Java #


1. Найти первый неповторяющийся элемент в массиве


2. Проверить, является ли строка палиндромом


3. Найти два числа в отсортированном массиве с заданной суммой


4. Найти два числа в неотсортированном массиве с заданной суммой


5. Синхронизировать вывод «Тик» и «Так» двумя потоками


6. Реализовать паттерн Decorator


7. Спроектировать и реализовать сервис сокращения URL


8. Разделить список на подсписки фиксированного размера


9. Реализовать поиск человека по имени


10. Поддерживать топ-5 максимальных значений в потоке чисел


11. Реализовать паттерн Singleton


12. Вывести текст в консоли в виде рамки


13. Реализовать последовательности Фибоначчи длиной n


14. Найти первый уникальный символ в строке


15. Отсортировать массив чисел по возрастанию


16. Реализовать простое двоичное дерево поиска


17. Развернуть цифры целого числа


18. Проверить, что символы строки повторяются не более двух раз


19. Подсчитать количество `a` в бесконечно повторяющейся строке


20. Отфильтровать список пользователей in-place


21. Найти первый неповторяющийся элемент в массиве


22. Развернуть строку в обратном порядке


23. Реализовать `hashCode()` для класса Point


24. Реализовать стек с получением минимума за O(1)


25. Проверить число на простоту


26. Найти слово с минимальной частотой встречаемости


27. Подсчитать количество повторений каждого слова в строке


28. Распределить грузы по грузовикам с минимальной недогруженностью


29. Найти максимальное расстояние до ближайшего занятого места


30. Проверить вертикальную симметрию набора точек


31. Реализовать потокобезопасный перевод денег без дедлоков


32. Реализовать перевод средств между аккаунтами


33. Сжать подряд идущие одинаковые символы по коэффициенту


34. Обеспечить чередование вывода foo и bar


35. Найти первого человека по имени


36. Реализовать консольную игру «Крестики-нолики» произвольного размера


37. Объединить два отсортированных итератора


38. Вывести дерево в виде иерархии


39. Проверить строку на палиндром


40. Реализовать хранилище с истекающими ключами


41. Проверить палиндром в цикле без методов обработки строк


42. Объединить два списка без дубликатов


43. Проверить возможность продажи товара по времени и типу


44. Отфильтровать большую последовательность чисел


45. Подсчитать количество вхождений элементов списка


46. Найти младшего пользователя для каждого имени


47. Проверить являются ли строки перестановками друг друга


48. Получить первый элемент списка с сохранением типа


49. Сгруппировать анаграммы


50. Реализовать собственный MyArrayList


51. Сделать класс immutable


52. Найти отсутствующее число в массиве


53. Найти число, которое встречается один раз


54. Разобраться с потоками и AtomicInteger


55. Оставить по одному представителю каждой группы анаграмм


56. Написать метод, вызывающий StackOverflowError


57. Реализовать стек с получением максимума за O(1)


58. Проверить работу Set с equals и hashCode


59. Исправить тест сравнения DTO


60. Найти число, ближайшее к systemId


61. Объединить два отсортированных массива


62. Удалить повторения символов, начиная с третьего


63. Проверить, можно ли сделать строки одинаковыми за одно изменение


64. Сравнить два объекта Person


65. Удалить строки, начинающиеся с aaa


66. Разделить разность максимума и минимума на среднее


67. Удалить строки, начинающиеся с abc, через Iterator


68. Сделать обработку задач потокобезопасной


69. Реализовать собственный неизменяемый пустой список


70. Проверить объект на null и его коллекцию на пустоту


71. Реализовать односвязный список


72. Развернуть односвязный список


73. Найти первый уникальный элемент в массиве


74. Исправить конкурентную запись в ConcurrentHashMap


75. Продумать тесты для метода calc


76. Удалить повторения элементов, начиная с третьего вхождения


77. Реализовать класс узла дерева Node


78. Найти первый неповторяющийся элемент в массиве


79. Реализовать потокобезопасный Singleton