Anonymous Quiz
13%
Это указатель на переопределенный метод класса. Нельзя опускать, иначе переопределение не сработает
78%
Это указатель на текущий объект класса внутри самого класса. Его можно опускать при вызове метода
6%
Это не ключевое слово.
3%
Это ключевое слово для вызова метода внутри static-метода. Его нельзя опускать, иначе будет ошибка
👍2🔥1
#ЛитКод
Задача: 518. Coin Change II
Вам дан целочисленный массив coins, представляющий монеты разных номиналов, и целое число amount, представляющее общую сумму денег.
Верните количество комбинаций, которые составляют эту сумму. Если эту сумму нельзя составить никакой комбинацией монет, верните 0.
Предположим, что у вас есть бесконечное количество каждой монеты.
Ответ гарантированно вписывается в знаковое 32-битное целое число.
Пример:
👨💻 Алгоритм:
1⃣ Создайте двумерный массив memo с n строками и amount + 1 столбцами. Инициализируйте значения -1, чтобы указать, что подзадача еще не решена. Реализуйте рекурсивный метод numberOfWays, который принимает два параметра: индекс i текущей рассматриваемой монеты и оставшуюся сумму, которую нужно составить. Он возвращает количество способов составить сумму, используя монеты, начиная с индекса i до последней монеты.
2⃣ Если amount == 0, верните 1. Мы можем выбрать один способ, не выбирая ни одной монеты, чтобы составить сумму 0. Если i == n, у нас не осталось монет для составления суммы, верните 0. Если эта подзадача уже решена, т.е. memo[i][amount] != -1, верните memo[i][amount]. Если значение текущей монеты превышает сумму, мы не можем её использовать. Рекурсивно вызовите numberOfWays(i + 1, amount), присвойте результат memo[i][amount] и верните его.
3⃣ В противном случае, добавьте общее количество способов составить сумму, как выбирая текущую монету, так и игнорируя её. Сложите значения numberOfWays(i, amount - coins[i]) и numberOfWays(i + 1, amount), сохраните результат в memo[i][amount] и верните его. Верните numberOfWays(0, amount), ответ на исходную задачу.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 518. Coin Change II
Вам дан целочисленный массив coins, представляющий монеты разных номиналов, и целое число amount, представляющее общую сумму денег.
Верните количество комбинаций, которые составляют эту сумму. Если эту сумму нельзя составить никакой комбинацией монет, верните 0.
Предположим, что у вас есть бесконечное количество каждой монеты.
Ответ гарантированно вписывается в знаковое 32-битное целое число.
Пример:
Input: amount = 5, coins = [1,2,5]
Output: 4
Explanation: there are four ways to make up the amount:
5=5
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1
class Solution {
public int change(int amount, int[] coins) {
int[][] memo = new int[coins.length][amount + 1];
for (int i = 0; i < coins.length; i++) {
Arrays.fill(memo[i], -1);
}
return numberOfWays(0, amount, coins, memo);
}
private int numberOfWays(int i, int amount, int[] coins, int[][] memo) {
if (amount == 0) {
return 1;
}
if (i == coins.length) {
return 0;
}
if (memo[i][amount] != -1) {
return memo[i][amount];
}
if (coins[i] > amount) {
memo[i][amount] = numberOfWays(i + 1, amount, coins, memo);
} else {
memo[i][amount] = numberOfWays(i, amount - coins[i], coins, memo) + numberOfWays(i + 1, amount, coins, memo);
}
return memo[i][amount];
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#Собес
🤔 Что такое bytecode?
Байткод - это промежуточный код, который создается после компиляции Java- программы. Он независим от конкретной платформы и выполняется JVM, которая интерпретирует его в машинный код.
👉 Новости 👉 Платформа
Байткод - это промежуточный код, который создается после компиляции Java- программы. Он независим от конкретной платформы и выполняется JVM, которая интерпретирует его в машинный код.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 GitIngest
Этот инструмент превращает любые репозитории GitHub в текст, удобный для использования в LLM-промптах. Просто вставляешь ссылку на репо — и получаешь готовую аналитику: структура файлов, размеры, форматирование под GPT
Либо вы также можете заменить "hub" на "ingest" в любом URL GitHub, чтобы получить соответствующее краткое содержание
Читать статью
👉 Новости 👉 Платформа
Этот инструмент превращает любые репозитории GitHub в текст, удобный для использования в LLM-промптах. Просто вставляешь ссылку на репо — и получаешь готовую аналитику: структура файлов, размеры, форматирование под GPT
Либо вы также можете заменить "hub" на "ingest" в любом URL GitHub, чтобы получить соответствующее краткое содержание
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
public static int getAmount()
Anonymous Quiz
24%
Не ясно, надо смотреть код метода
17%
Вернет static-поле класса.
5%
Вернет ссылку на объект класса this.
54%
Вернет целочисленное значение.
👍1
#вакансии
👨💻 Java разработчик
Локация: Удаленно в РФ
Компания: WMT Group (аккредитованная IT компания-вендор)
ЗП: до 290 000 р. (ТК/ГПХ), до 340 000 р. (ИП/СЗ) на руки
Занятость: Полная
Требования: стаж от 3 лет, опыт работы с Oracle Utilities Framework (обязательно☝🏻)
также: Java ЕЕ, JMM, Hibernate, опыт работы с СУБД Oracle. SQL, PL/SQL, TDD, JUnit, Jenkins, Gitorious, Nexus, QDox, Ant, Maven, Eclipse / Idea, опыт профилирования Java и SQL кода.
Задача: разработка модификаций функциональности для Oracle Utilities (Oracle CC&B / MDM).
💬 Резюме отправлять: @MoiseevaWMT
👉 Новости 👉 Платформа
Локация: Удаленно в РФ
Компания: WMT Group (аккредитованная IT компания-вендор)
ЗП: до 290 000 р. (ТК/ГПХ), до 340 000 р. (ИП/СЗ) на руки
Занятость: Полная
Требования: стаж от 3 лет, опыт работы с Oracle Utilities Framework (обязательно☝🏻)
также: Java ЕЕ, JMM, Hibernate, опыт работы с СУБД Oracle. SQL, PL/SQL, TDD, JUnit, Jenkins, Gitorious, Nexus, QDox, Ant, Maven, Eclipse / Idea, опыт профилирования Java и SQL кода.
Задача: разработка модификаций функциональности для Oracle Utilities (Oracle CC&B / MDM).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#Собес
🤔 Какие признаки JavaBean?
JavaBean — это класс в Java с определенными стандартами, которые делают его удобным для использования в фреймворках. Признаки: он имеет конструктор без
параметров, предоставляет доступ к свойствам через геттеры и сеттеры, а также реализует интерфейс
👉 Новости 👉 Платформа
JavaBean — это класс в Java с определенными стандартами, которые делают его удобным для использования в фреймворках. Признаки: он имеет конструктор без
параметров, предоставляет доступ к свойствам через геттеры и сеттеры, а также реализует интерфейс
Serializable
для поддержки сериализации.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Anonymous Quiz
27%
Будет выброшено исключение
20%
Элемент не добавится
47%
Элемент добавится успешно
6%
Программа завершится
❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Anonymous Quiz
13%
Останавливает поток
28%
Ждет завершения другого потока
59%
Переводит поток в состояние ожидания
0%
Устанавливает приоритет потока
❤3
#Собес
🤔 Что такое OutOfMemoryError?
OutOfMemoryError возникает, когда программа не может выделить достаточно памяти для выполнения операции. Это может произойти из-за утечек памяти, создания слишком большого количества объектов или ограничений JVM.
👉 Новости 👉 Платформа
OutOfMemoryError возникает, когда программа не может выделить достаточно памяти для выполнения операции. Это может произойти из-за утечек памяти, создания слишком большого количества объектов или ограничений JVM.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Anonymous Quiz
41%
getKeys()
31%
keySet()
20%
keyList()
8%
keys()
❤1
#ЛитКод
Задача: 623. Add One Row to Tree
Учитывая корень бинарного дерева и два целых числа val и depth, добавьте ряд узлов со значением val на заданную глубину depth. Обратите внимание, что корневой узел находится на глубине 1. Правило добавления таково: учитывая целое число depth, для каждого ненулевого узла дерева cur на глубине depth - 1 создайте два узла дерева со значением val в качестве левого поддерева корня cur и правого поддерева корня.
Оригинальное левое поддерево cur должно быть левым поддеревом нового корня левого поддерева. Оригинальное правое поддерево cur должно быть правым поддеревом нового корня правого поддерева. Если глубина == 1, то есть глубина - 1 вообще не существует, создайте узел дерева со значением val как новый корень всего оригинального дерева, а оригинальное дерево - левое поддерево нового корня.
Пример:
👨💻 Алгоритм:
1⃣ Если depth равна 1, создайте новый корень со значением val и сделайте текущий корень левым поддеревом нового корня.
2⃣ Используйте обход в ширину (BFS) для поиска всех узлов на глубине depth - 1.
3⃣ Для каждого узла на глубине depth - 1, вставьте новые узлы со значением val в качестве левого и правого поддеревьев, сохраняя исходные поддеревья.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 623. Add One Row to Tree
Учитывая корень бинарного дерева и два целых числа val и depth, добавьте ряд узлов со значением val на заданную глубину depth. Обратите внимание, что корневой узел находится на глубине 1. Правило добавления таково: учитывая целое число depth, для каждого ненулевого узла дерева cur на глубине depth - 1 создайте два узла дерева со значением val в качестве левого поддерева корня cur и правого поддерева корня.
Оригинальное левое поддерево cur должно быть левым поддеревом нового корня левого поддерева. Оригинальное правое поддерево cur должно быть правым поддеревом нового корня правого поддерева. Если глубина == 1, то есть глубина - 1 вообще не существует, создайте узел дерева со значением val как новый корень всего оригинального дерева, а оригинальное дерево - левое поддерево нового корня.
Пример:
Input: root = [4,2,6,3,1,5], val = 1, depth = 2
Output: [4,1,1,2,null,null,6,3,1,5]
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class Solution {
public TreeNode addOneRow(TreeNode root, int val, int depth) {
if (depth == 1) {
return new TreeNode(val, root, null);
}
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
int currentDepth = 1;
while (!queue.isEmpty()) {
if (currentDepth == depth - 1) {
for (TreeNode node : queue) {
node.left = new TreeNode(val, node.left, null);
node.right = new TreeNode(val, null, node.right);
}
break;
}
currentDepth++;
int size = queue.size();
for (int i = 0; i < size; i++) {
TreeNode node = queue.poll();
if (node.left != null) queue.add(node.left);
if (node.right != null) queue.add(node.right);
}
}
return root;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Anonymous Quiz
33%
Генерируется исключение IllegalMonitorStateException
60%
Поток переходит в состояние ожидания
4%
Метод выполняется без ошибок
2%
Ничего не происходит
❤2
#Собес
🤔 Назовите все методы класса Object.
Класс Object содержитметоды:
👉 Новости 👉 Платформа
Класс Object содержитметоды:
equals (), hashCode(), toString(), getClass(), clone(), finalize(), wait(), notify(), notifyAll()
иметоды для синхронизации потоков ( wait(long timeout) , wait(long timeout, int nanos)
). Эти методы предоставляют базовый функционал, доступный для всех объектов в Java.Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#вакансии
👨💻 JAVA DEVELOPER
Локация: Удаленно в РФ
Компания: SML
ЗП: от 200 000 р. на руки
Занятость: Полная
Уровень позиции: Senior, Middle.
Задачи: От создания умного помощника для консультирования покупателей в автоматическом режиме до уникального решения по автоматизации бизнес-процессов подразделения.
Обязательные требования:
Java 11-17 от 4-х лет;
NoSQL;
Spring, Spring Boot.
Kotlin, RabbitMQ, Kafka, Rest, SOAP, ElasticSearch, Kubernetes, Prometheus, Grafana, GitLab, Docker.
📱 Резюме отправлять: @fr_rec
👉 Новости 👉 Платформа
Локация: Удаленно в РФ
Компания: SML
ЗП: от 200 000 р. на руки
Занятость: Полная
Уровень позиции: Senior, Middle.
Задачи: От создания умного помощника для консультирования покупателей в автоматическом режиме до уникального решения по автоматизации бизнес-процессов подразделения.
Обязательные требования:
Java 11-17 от 4-х лет;
NoSQL;
Spring, Spring Boot.
Kotlin, RabbitMQ, Kafka, Rest, SOAP, ElasticSearch, Kubernetes, Prometheus, Grafana, GitLab, Docker.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Anonymous Quiz
37%
equals()
6%
notifyAll()
7%
wait()
50%
Все вышеуказанные
❤1👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес
🤔 В чем разница между try-with-resources и try- catch-finally при работе с ресурсами?
👉 Новости 👉 Платформа
try-with-resources
автоматически закрывает ресурсы, такие как потоки или файлы, после завершения блока. В try-catch-finally
закрытие ресурсов нужно обрабатывать вручную в блоке finally
, что увеличивает обьем кода и может привести к ошибкам.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
Anonymous Quiz
40%
При создании экземпляра класса
7%
При импорте класса
42%
При загрузке класса
11%
При вызове любого метода класса
❤1
Anonymous Quiz
56%
Класс для загрузки классов в JVM
33%
Интерфейс для управления загрузкой классов
4%
Метод для запуска JVM
7%
Класс для управления памятью
❤1