Сортировка долей неудач в Java: знаменатели, равенства и long
Подсчёт остановившихся и достигших этапа игроков, точное сравнение перекрёстными произведениями long, недостигнутые этапы и порядок при равных долях.
Практические заметки о Java, Spring, тестировании и разработке ПО со ссылками на источники.
Все статьи →Подсчёт остановившихся и достигших этапа игроков, точное сравнение перекрёстными произведениями long, недостигнутые этапы и порядок при равных долях.
Моделирование LRU через LinkedHashMap с порядком доступа: обновление попаданий, вытеснение, ключи без учёта регистра, нулевая ёмкость и предположения о стоимости.
Нормализация ID цепочкой Optional и циклом: последовательности точек, пустой результат фильтрации, очистка после усечения, дополнение и независимость от локали.
Удаление соседних одинаковых символов стеком: инвариант префикса, каскадные удаления, граница в миллион символов и затраты времени и памяти.
Литеральная замена в допустимой смеси цифр и слов от zero до nine. Различия replace и replaceAll, границы целых чисел и область применения.
Вычитание частот финишировавших из частот участников через HashMap. Повторяющиеся имена без разности Set и условие ровно одного участника, не завершившего забег.
Создание n значений от x до x*n через IntStream. Почему одного mapToLong недостаточно против переполнения int; положительный, отрицательный и нулевой шаг.
Подсчёт разных типов через HashSet и доказательство достижимости границы выбора. Максимальное число типов и построение конкретной выборки — разные задачи.
Перемножаем соответствующие элементы массивов и суммируем их с IntStream. Разбираем знаки, диапазон int и необходимость расширять тип операндов до переполнения при умножении.
Объединяем абсолютные значения с соответствующими булевыми знаками с помощью IntStream. Проверяем взаимное сокращение, все отрицательные значения, диапазон int и равную длину массивов.