Python и динамическое программирование на примере задачи о рюкзаке

Как собрать ценные вещи в поездку так, чтобы хватило места? Без избыточной терминологии рассказываем о классической задаче, решаемой методом динамического программирования. Момент настал – вы переезжаете в Сан-Франциско, чтобы стать известным дата сайентистом. Будете работать в крупной компании и скоро прославитесь. Но не всё сразу. Поначалу придётся ютиться в жилище, ПОДРОБНЕЕ

Собеседование Java разработчика. Часто задаваемые вопросы

В этом посте, я с удовольствием раскрою, вероятно, большинство возможных вопросов на Java-собеседовании, от простых до самых сложных. Чем отличаются статические методы и переменные от нестатических? Объясните их архитектуру в памяти? Почему вы используете ключевое слово final с классами и переменными? Приведите пример, в каком случае вы предпочтёте использовать final. ПОДРОБНЕЕ

Java для начинающих: часть 3 из 4

Потоки Мьютекс и семафор Обработка ошибок Класс Observable и интерфейс Observer JDBC Чтение и запись файла Шаблоны проектирования Важные моменты Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях в Java трудностей в освоении ПОДРОБНЕЕ

Java для начинающих: часть 2 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях в Java трудностей в освоении этих материалов не возникнет. А опытные Java-разработчики смогут освежить свои знания. Неизменяемость Неизменяемым называется любой класс, в котором состояние объекта ПОДРОБНЕЕ

Java для начинающих. Часть 1 из 4

JVM, JRE и JDK Выделение памяти ООП — Инкапсуляция, наследование, полиморфизм и абстракция Загрузка статического и динамического класса Абстрактный класс и интерфейс Java Packages Конструкторы Static Final, Finalize и Finally Класс Object Equals и hashСode Clone Агрегация и композиция Примитивы и оболочки типов Автоупаковка и распаковка Кастинг Часть 1, Часть 2, Часть 3, Часть 4 Данные ПОДРОБНЕЕ

Java для начинающих: часть 4 из 4.

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях в Java трудностей в освоении этих материалов не возникнет. А опытные Java-разработчики смогут освежить свои знания. Поддержка функционального программирования в Java 8 Функциональное программирование — это некая альтернатива ПОДРОБНЕЕ

Java против Kotlin. Android.

Противостояние Java и Kotlin  —  тренд последних дней. Java  —  везде, однако Kotlin наступает, предлагая значительные преимущества. Итак, Java и Kotlin конкурируют. Мы обсудим преимущества и основные отличия языков, исходя из разных параметров, технических деталей и многого другого. Источник  —  NPM-TRENDS Преимущества Java Java был создан Джеймсом Гослингом. Используя его, ПОДРОБНЕЕ

Почему вы никогда не будете слишком стары, чтобы изучать Java

“Любви все возрасты покорны.” Несмотря на то, что очень многие солидарны с этой фразой, я постоянно наблюдаю за тем, как люди загоняют себя в мнимые рамки и убеждают в том, что уже слишком поздно учиться чему-то новому или менять профессию. Но почему бы нам не использовать тот же самый принцип ПОДРОБНЕЕ

Как научиться программировать на Java и с чего начать

Определите свои профессиональные цели и выберите язык. Это самый главный совет для новичков, желающих присоединиться к сообществу программистов. Но как же это сделать, если вы не понимаете, какой язык лучше подойдет для ваших целей? Разве не было бы проще, если бы среди языков разработки существовал какой-то один «лидер на рынке»? ПОДРОБНЕЕ

Решение алгоритмических проблем: Поиск повторяющихся элементов в массиве

Этот пост является частью серии статей о том, как решать алгоритмические проблемы. Из собственного опыта, я понял, что большинство авторов просто пошагово расписывают решение проблемы. Отсутствие обобщённого представления о проблеме, не позволяет понять её и найти эффективное решение. Исходя из этого понимания, цель данной серии: описывать процессы рассуждений о том, ПОДРОБНЕЕ