👍1
Описание и условие задачи на YouTube — КЛИК
На сетке размером
M x N в верхнем левом углу размещен робот. Роботу нужно оказаться в нижнем правом углу, однако перемещаться он может только вниз или вправо. Требуется найти количество уникальных путей, по которым робот доберется до финиша.dp;dp, так как он достижим только из одного направления;dp. Каждое значение dp[i][j] вычисляется как сумма количества уникальных путей до клетки сверху dp[i-1][j] и слева dp[i][j-1];dp[m-1][n-1], представляющее количество уникальных путей до последней клетки в сетке.Эта задача на LeetCode — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
Что подразумевается под статическим блоком в Java?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Что означает перегрузка метода в Java?
Anonymous Quiz
16%
Изменение поведения метода класса относительно родительского
5%
Изменение поведения метода класса относительно дочернего
73%
Несколько методов с одинаковым названием, но разным набором параметров
6%
Несколько разных классов с одинаковым методом
Этот алгоритм разделяет оригинальный массив на сортированный и несортированный подмассивы.
Длина сортированной части равна
1 в начале и соответствует первому (левому) элементу в массиве. После этого остается итерировать массив и расширять отсортированную часть массива одним элементом с каждой новой итерацией.После расширения новый элемент помещается на свое место в отсортированном подмассиве. Это происходит путём сдвига всех элементов вправо, пока не встретится элемент, который не нужно двигать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Здесь используется Java Stream API для подсчета наиболее часто встречающегося элемента в списке.
groupingBy группирует элементы по их значению (Function.identity()). После группировки вызывается метод counting() для подсчета количества элементов в каждой группе;entrySet() преобразует полученную мапу в набор записей (ключ-значение);max(Map.Entry.comparingByValue());ifPresent(System.out::println). Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1
Что выведет код сверху?
Anonymous Quiz
32%
s1 == s2 is: true
17%
false
44%
s1 == s2 is: false
6%
true
В Java ключевое слово
this используется для ссылки на текущий объект внутри класса.Это может быть использовано в следующих случаях:
В примере мы используем
this.name вместо name, чтобы указать, что мы обращаемся к переменной экземпляра класса Person, а не к параметру конструктора name.Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли в конструкторе выполнить исключение (exception)?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Ключевое слово
throws используется для объявления того, что метод может выбросить исключение определенного типа. Это ключевое слово позволяет программисту указать возможные исключения, которые могут быть выброшены из метода при его выполнении.В примере метод
readFile() может выбросить два исключения: FileNotFoundException и IOException. Таким образом, если другой метод вызовет метод readFile() и не обработает эти исключения, то он должен будет объявить ключевое слово throws в своем объявлении метода.Please open Telegram to view this post
VIEW IN TELEGRAM
Какой из примитивов синхронизации подойдёт для многопоточного доступа к переменной?
Anonymous Quiz
35%
ReentrantLock
21%
CountdownLatch
24%
Future
11%
Phaser
10%
CyclicBarrier
Метод
repeat() копирует содержимое строки заданное количество раз и возвращает результат в одной строке.Синтаксис:
String repeat(int count)Please open Telegram to view this post
VIEW IN TELEGRAM
Поддерживается ли в Java множественное наследование?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
DivideByZeroException — собственное исключение, которое наследуется от класса Exception. В блоке try происходит проверка: если делитель равен нулю, то выбрасывается это исключение с соответствующим сообщением. В блоке catch перехватывается исключение и выводится сообщение об ошибке.Please open Telegram to view this post
VIEW IN TELEGRAM