Принципы SOLID на примерах из жизни и разработки

Задача этой статьи только одна - попробовать уложить принципы SOLID на понятных «бытовых» примерах, а уже потом посмотреть, как оно может работать на практике - в коде. Итак, SOLID - это 5 принципов, которые используются при разработке приложений. На каждый принцип по букве: 1. S — Single Responsibility Principle (Принцип единственной ответственности) Определение : Каждый класс должен выполнять только одну задачу. Пример из жизни: Например, мы купили шкаф для одежды.

https://habr.com/ru/articles/849350/

#solid #паттерны_проектирования #паттерны #java #подготовка_к_собеседованиям #подготовка_к_собеседованию #javarush

Принципы SOLID на примерах из жизни и разработки

Задача этой статьи только одна - попробовать уложить принципы SOLID на понятных «бытовых» примерах, а уже потом посмотреть, как оно может работать на практике - в коде. Итак, SOLID - это 5 принципов,...

Хабр

Нахождение преобладающего элемента последовательности (алгоритм большинства голосов Бойера-Мура)

Пару статей назад я уже рассматривала один из алгоритмов Бойера-Мура, с помощью которого можно было найти подстроку в строке. Сегодня хочу поболтать об алгоритме большинства голосов, который позволяется найти преобладающий элемент последовательности. Предлагаю сразу использовать его на примере задачи «Majority Element» с leetcode. Условие здесь: https://leetcode.com/problems/most-frequent-even-element/description/ Кстати, у меня есть телеграм-канал, где пишу подходы к решениям всяких задачек с LeetCode, там больше разборов конкретных задач, чем здесь, потому что не всегда нужна статья. В общем, если интересно - жду здесь - t.me/crushiteasy :) Возвращаемся к Муру! Кратко: на вход мы получаем массив, состоящий из чисел. Нужно найти число, которое встречается наибольшее количество раз. Не супер очевидно, но это число занимает больше половины элементов массива, т.е.

https://habr.com/ru/articles/833932/

#java #алгоритмы #алгоритмы_поиска #программирование #leetcode #faang #javarush

Использование очередей (Queue/Deque) для решения алгоритмических задач на Java

Как всегда, сначала немного базовой теории для понимания того, с чем мы имеем дело. Queue - однонаправленная очередь, представляет собой структуру данных, которая строится по принципу FIFO (first-in-first-out) . Другими словами, чем раньше элемент был добавлен в коллекцию, тем раньше он оттуда будет удален. Выжимка по методам:

https://habr.com/ru/articles/833444/

#java #leetcode #алгоритмы #deque #программирование #queue #javarush #alhoritms

Использование очередей (Queue/Deque) для решения алгоритмических задач на Java

Как всегда, сначала немного базовой теории для понимания того, с чем мы имеем дело.  Queue - однонаправленная очередь, представляет собой структуру данных, которая строится по принципу FIFO...

Хабр