1. Считаем, сколько должно быть:
Используем формулу для суммы чисел от 1 до N. Это наша Полная Сумма.
Полная Сумма = N*(N + 1)/2
2. Считаем, сколько есть:
Проходим по нашему массиву один раз и складываем все числа. Это наша Фактическая Сумма.
3. Находим разницу:
Вычитаем то, что есть, из того, что должно быть.
Пропущенное число = Полная Сумма - Фактическая Сумма
public class Main {
public static void main(String[] args) {
// Задаем N - максимальное число, которое должно быть в последовательности.
int n = 10;
// Массив, в котором отсутствует одно число (например, 3)
// int[] array = new int[] {1, 2, 4, 5, 6, 7, 8, 9, 10}; // Если 3 пропущено
int[] array = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // Тестовый массив без пропусков
// 1. Вычисляем Полную Сумму (Full Sum)
// Используем формулу суммы арифметической прогрессии: N * (N + 1) / 2
// Это эталонная сумма всех чисел от 1 до N.
int sumAll = (n * (n + 1)) / 2;
// 2. Вычисляем Фактическую Сумму (Actual Sum) за один проход
int sum = 0;
// Это единственный проход по массиву, соответствующий ограничению O(N)
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
// 3. Сравниваем суммы и выводим результат
if (sumAll == sum) {
System.out.println("Число не пропущено");
} else {
// Разница между полной и фактической суммой - это и есть пропущенное число.
System.out.println("Пропущено число: " + (sumAll - sum));
}
}
}Это решение — идеальный ответ на собеседовании.
Оно демонстрирует не только умение писать код, но и знание базовой математики, позволяющее создать алгоритм с оптимальной временной сложностью (O(N)) и пространственной сложностью (O(1))!
Расскажите в комментариях, что получилось у вас!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Снова задачка, но сегодня про белок и их тусовки 🐿
Задача: Белки обожают вечеринки с сигарами! Обычно для хорошей вечеринки нужно от 40 до 60 сигар (включительно). Но если наступают выходные — правила меняются: нужно минимум 40 сигар, а верхнего предела нет! Чем больше — тем веселее.
Напиши метод, который скажет, получилась ли у белок хорошая вечеринка или нет.
А как бы вы решили эту задачу? Жду ваши варианты в комментариях!😉
👉 Java Rocks | #задача
Задача: Белки обожают вечеринки с сигарами! Обычно для хорошей вечеринки нужно от 40 до 60 сигар (включительно). Но если наступают выходные — правила меняются: нужно минимум 40 сигар, а верхнего предела нет! Чем больше — тем веселее.
Напиши метод, который скажет, получилась ли у белок хорошая вечеринка или нет.
Примеры:
cigarParty(30, false) → false (мало сигар, не выходные)
cigarParty(50, false) → true (в пределах 40–60, не выходные)
cigarParty(70, true) → true (выходные, больше 40)
А как бы вы решили эту задачу? Жду ваши варианты в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Уже догадались?
Давайте сначала просто проверяем условие:
▪️Если выходные ( ) — проверяем только нижнюю границу:
▪️Если не выходные — проверяем обе границы:
Решение:
— обязательное условие для любой успешной вечеринки
Или более коротко:
▫️ Если, то условие сразу истинно (выходные — верхней границы нет)
▫️ Если , то дополнительно проверяем
👉 Java Rocks | #задача
▪️Если выходные (
isWeekend == truecigars >= 40▪️Если не выходные — проверяем обе границы:
cigars >= 40 && cigars <= 60Решение:
public boolean cigarParty(int cigars, boolean isWeekend) {
if (isWeekend) {
return cigars >= 40;
} else {
return cigars >= 40 && cigars <= 60;
}
}▫️cigars >= 40Или более коротко:
public boolean cigarParty(int cigars, boolean isWeekend) {
return cigars >= 40 && (isWeekend || cigars <= 60);
}▫️ Если
isWeekend == true▫️ Если
isWeekend == falsecigars <= 60Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Стильное свидание — получим ли мы столик в ресторане?
Вы и ваша пара собираетесь в ресторан. У каждого из вас есть "стильность" одежды от 0 до 10.
Шансы получить столик определяются по трем уровням:
▫️ 2 (да) — если хотя бы один из вас очень стильный (8+ баллов)
▫️ 0 (нет) — если хотя бы один из вас одет ужасно (2 или меньше баллов)
▫️1 (возможно) — во всех остальных случаях
Напишите свои варианты кода — посмотрим, кто сможет сделать решение короче и изящнее!🧑💻
👉 Java Rocks | #задача
Вы и ваша пара собираетесь в ресторан. У каждого из вас есть "стильность" одежды от 0 до 10.
Шансы получить столик определяются по трем уровням:
▫️ 2 (да) — если хотя бы один из вас очень стильный (8+ баллов)
▫️ 0 (нет) — если хотя бы один из вас одет ужасно (2 или меньше баллов)
▫️1 (возможно) — во всех остальных случаях
Примеры:
dateFashion(5, 10) → 2 (партнер очень стильный — 10 баллов)
dateFashion(5, 2) → 0 (партнер плохо одет — 2 балла)
dateFashion(5, 5) → 1 (средние показатели)
ПОДСКАЗКАОдин из вариантов решения использует такую структуру:
if (xxx) {
return 0;
} else if (yyy) {
return 2;
} else {
return 1;
}
где xxx и yyy — это выражения с операторами <=, >=, которые проверяют значения you и date для получения соответствующего результата.
Порядок операторов if имеет решающее значение — случай с результатом 0 (нет) имеет приоритет над остальными случаями, поэтому эта проверка должна идти первой.
Напишите свои варианты кода — посмотрим, кто сможет сделать решение короче и изящнее!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👎1
Когда система падает под нагрузкой, виноват не язык и не фреймворк. Почти всегда проблема в архитектуре.
🔔 Курс «Highload Architect» учит строить системы, которые выдерживают сотни тысяч и миллионы запросов в секунду. Вы разберёте весь путь запроса — от клиента до базы данных и обратно — и поймёте, какие архитектурные решения действительно работают под высокой нагрузкой, а какие ломаются первыми.
Программа ориентирована на веб-разработчиков, тимлидов и архитекторов ПО.
На курсе рассмотрим типовые и нетривиальные кейсы, с которыми сталкиваются крупные сервисы.
🎁 Закрываем набор до 5.03.2026 в группу февраля со скидкой 🔤 . Подробности у менеджера.
Пройти короткое вступительное тестирование: https://vk.cc/cV1gyD
📌 Практическое обучение проводится в прямом эфире — вебинары не являются предзаписанными.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Программа ориентирована на веб-разработчиков, тимлидов и архитекторов ПО.
На курсе рассмотрим типовые и нетривиальные кейсы, с которыми сталкиваются крупные сервисы.
Пройти короткое вступительное тестирование: https://vk.cc/cV1gyD
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Вот и решение:
Ключевой момент: сначала проверяем худший сценарий (стиль ≤ 2), потом лучший (стиль ≥ 8), и только потом средний вариант.
Так почему же именно такой порядок проверок?
Порядок ВАЖЕН! Если бы мы поменяли условия местами:
В неправильном варианте для пары (10, 1) сработала бы первая проверка и вернула 2, хотя по условию должен быть 0 (один из пары имеет стиль ≤ 2).
Есть и альтернативное решение (менее читаемое, но компактное):
Сталкивались ли вы с похожими задачами на приоритетность условий в реальных проектах? Поделитесь опытом!
👉 Java Rocks | #задача
public int dateFashion(int you, int date) {
// Сначала проверяем провальный случай
if (you <= 2 || date <= 2) {
return 0;
}
// Затем проверяем гарантированный успех
else if (you >= 8 || date >= 8) {
return 2;
}
// Во всех остальных случаях — "возможно"
else {
return 1;
}
}Так почему же именно такой порядок проверок?
Порядок ВАЖЕН! Если бы мы поменяли условия местами:
// НЕПРАВИЛЬНЫЙ вариант!
if (you >= 8 || date >= 8) {
return 2;
} else if (you <= 2 || date <= 2) {
return 0; // Эта проверка никогда не сработает для пар (10, 1)!
} else {
return 1;
}
В неправильном варианте для пары (10, 1) сработала бы первая проверка и вернула 2, хотя по условию должен быть 0 (один из пары имеет стиль ≤ 2).
Есть и альтернативное решение (менее читаемое, но компактное):
public int dateFashion(int you, int date) {
if (you <= 2 || date <= 2) return 0;
return (you >= 8 || date >= 8) ? 2 : 1;
}Сталкивались ли вы с похожими задачами на приоритетность условий в реальных проектах? Поделитесь опытом!
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии для Java-разработчиков за последние 14 дней:
✓ Java/Go Разработчик. удалённо (Ульяновск), 160–200 т.р.
✓ Java Middle+ Разработчик. удалённо (РФ), 240 т.р.
✓ Java Senior разработчик. удаленно (РФ), 250–270 т.р.
✓ Lead Java Developer. удалённо, 6500 $
✓ Разработчик Java. офис
#подборка #java
✓ Java/Go Разработчик. удалённо (Ульяновск), 160–200 т.р.
✓ Java Middle+ Разработчик. удалённо (РФ), 240 т.р.
✓ Java Senior разработчик. удаленно (РФ), 250–270 т.р.
✓ Lead Java Developer. удалённо, 6500 $
✓ Разработчик Java. офис
#подборка #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Middle · Remote
Selecty
Middle · Remote · Россия/Беларусь · 💰 262 500 – 291 700 ₽
Т1
Middle · Remote
Wildberries
Middle · Remote
Wildberries Банк
Middle · Remote
Яндекс
Middle · Hybrid
Метр квадратный (М2)
Middle · Remote
Дип Диджитал
Middle · Remote · Россия · 💰 от 150 000 ₽
Skyro
Middle · Remote · 💰 от 3 000 $
Протей
Middle · Hybrid · Санкт-Петербург, Россия · 💰 до 260 000 ₽
SENSE
Senior · Remote · 💰 до 450 000 ₽
Сбер
Junior · Hybrid · Москва
Selecty
Middle · Remote · Россия/Беларусь · 💰 336 000 – 422 000 ₽
Senior · Remote · Москва
VK
Junior · Hybrid · Москва, Санкт-Петербург
Sette
Middle · Remote
Мегафон
Junior · Office · Москва
Юмани
Middle · Hybrid · Санкт-Петербург
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
ЛАНИТ – Би Пи Эм
Intern · Hybrid
Мегафон
Junior · Office · Москва
VK
Senior · Hybrid · Санкт-Петербург
КА Gaba
Middle · Remote
Магнит
Middle · Hybrid
OZON
Senior · Office · Москва
РТЛабс
Senior · Remote
Prequel
Middle · Remote · 💰от $1000
Альфа-Банк
Senior · Hybrid
Сбер
Senior · Hybrid · Москва
Сбер
Middle · Hybrid · Москва
Сбер
Middle · Hybrid · Москва
Сбер
Middle · Hybrid · Москва
Сбер
Middle · Hybrid · Москва
Сбер
Middle · Office · Москва
Т1
Lead · Remote · Нижний Новгород
Сбер
Lead · Remote · Москва
Сбер
Lead · Remote · Москва
Bitmex
Senior · Remote · 💰$9750 - 10833
Please open Telegram to view this post
VIEW IN TELEGRAM
ДОМ.РФ
Senior · Hybrid
Senior · Remote
Mid · Remote
Яндекс
Mid · Remote
OZON
Mid · Remote
Сбер
Hybrid · г Москва
Лоция
Mid · Remote
МТС
Mid · Remote
Koronatech
Mid · Remote · 💰 ₽200 000 – 300 000
Сбер
Mid · Hybrid · Москва
Top Selection
Senior · Remote · Russia · 💰 ₽290 000 – 320 000
Please open Telegram to view this post
VIEW IN TELEGRAM
Ozon
Москва
RWB (Wildberries & Russ)
Москва
VK (VK Знакомства)
Remote · Санкт-Петербург
VK (ОК)
Remote · Москва
Водород
Mid · Hybrid · Минск
АВИТО ТЕХ
Remote · Москва
VK (VK Клипы)
Remote · Москва
VK (MAX)
Remote · Москва
Т-Банк
Lead · Hybrid · Рязань
Please open Telegram to view this post
VIEW IN TELEGRAM
Синтегрико/Syntegrico
Intern · Office · Брест
Aston
Junior · Remote · Россия
Aston
Junior · Remote · Беларусь
Яндекс
Junior · Hybrid · Санкт-Петербург
EPAM
Junior · Hybrid · Гданск, Краков, Варшава, Вроцлав
МТС
Junior · Hybrid · Москва
Яндекс
Junior · Office · Санкт-Петербург
Крайнет
Junior · Минск
VK
Junior · Hybrid
Технопарк Сколково
Junior · Remote
Яндекс
Middle · Office · Екатеринбург
Сбер
Middle · Remote · Санкт-Петербург
Альфа-Банк
Middle · Hybrid
Яндекс
Middle · Hybrid
КАЗГИСА
Middle · Нур-Султан
Bell Integrator
Middle · Hybrid · Москва, Санкт-Петербург, Нижний Новгород, Сочи, Екатеринбург
OZON
Middle · Office · Москва
Магнит
Middle · Remote
Каспи Софтвер
Middle · Remote · Минск
Яндекс
Middle · Hybrid · Москва
Т1
Middle · Office · Нижний Новгород
Сбер
Middle · Office · Санкт-Петербург
Сбер
Middle · Office · Санкт-Петербург
Сбер
Middle · Hybrid · Санкт-Петербург
Kaspersky
Middle · Office · Москва
Агентство NEWHR
Middle · Hybrid
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Andersen
Junior · Минск
Юмани
Junior · Hybrid · Санкт-Петербург
Сбер
Junior · Office · Екатеринбург
OZON
Middle · Remote
VK
Middle · Remote · Санкт-Петербург
Сбер
Middle · Remote · Москва · 💰₽250 000 – 300 000
Зонтик
Middle · Remote · РФ · 💰₽300 000 – 320 000
Т1
Middle · Office · Казань
ИнфоТеКС
Middle · Office · Москва, Санкт-Петербург, Пенза
Wildberries Банк
Middle · Remote
Please open Telegram to view this post
VIEW IN TELEGRAM
МТС
Junior · Office · Москва
Яндекс
Junior · Hybrid · Санкт-Петербург
Junior · Hybrid · Россия ·💰₽75 000 – 125 000
Nexign
Middle · Санкт-Петербург
Яндекс
Middle · Hybrid · Санкт-Петербург
Сбер
Middle · Hybrid · Москва
Bell Integrator
Middle · Remote · Россия
65apps
Middle · Remote
КА DG
Middle · Hybrid · Казань
Т1
Middle · Office · Казань
Юмани
Middle · Hybrid · Санкт-Петербург
Aston
Middle · Remote · Россия
Please open Telegram to view this post
VIEW IN TELEGRAM
Junior Java-разработчик
Компания Юмани ищет Java-разработчика.
Условия: гибрид (Санкт-Петербург).
Требования:
дольше года в коммерческой разработке
уверенно владеете Java
знание базовых алгоритмов и структур данных
понимание принципов работы многопоточных программ
опыт работы с базами данных
знание сетевых протоколов HTTP, TCP, UDP
знание Spring framework
умение проектировать API и структуру БД
тестируете свой код
знание принципов CI/CD
Компания Юмани ищет Java-разработчика.
Условия: гибрид (Санкт-Петербург).
Требования:
дольше года в коммерческой разработке
уверенно владеете Java
знание базовых алгоритмов и структур данных
понимание принципов работы многопоточных программ
опыт работы с базами данных
знание сетевых протоколов HTTP, TCP, UDP
знание Spring framework
умение проектировать API и структуру БД
тестируете свой код
знание принципов CI/CD
Talanto
Java-разработчик
Компания Юмани ищет Java-разработчика. Условия: гибрид (Санкт-Петербург). Требования: дольше года в коммерческой разработке уверенно владеете Java знание базовых алгоритмов и структур данных понимание принципов работы мн...
Junior · Hybrid · Россия ·💰₽75 000 – 125 000
VK
Junior · Hybrid · Москва
Сбер
Junior · Office · Екатеринбург
Бизнес Технологии
Senior · Hybrid · Санкт-Петербург ·💰₽200 000 – 300 000
Market Provider
Middle · Remote ·💰₽230 000 – 250 000
Ptolemay
Senior · Remote · РФ ·💰₽300 000 – 350 000
Глобус ИТ
Senior · Remote · Россия ·💰₽320 000 – 368 000
Мегафон
Middle · Office · Москва
DBI
Middle · Remote · Россия
МТС
Middle · Remote
Сбер
Middle · Hybrid · Москва
Сбер
Middle · Hybrid · Санкт-Петербург
Please open Telegram to view this post
VIEW IN TELEGRAM
МТС
Junior · Hybrid · Москва
Junior · Hybrid · Россия ·💰₽75 000 – 125 000
Сбер
Junior · Office · Екатеринбург
EPAM
Junior · Remote · Польша
VK
Middle · Hybrid · Москва, Санкт-Петербург
Т-Банк
Middle · Hybrid · Челябинск
Яндекс
Middle · Hybrid
IFellow
Middle · Remote · Москва
АйПиМатика
Middle · Remote · Москва
Сбер
Middle · Remote · РФ
Альфа-Банк
Middle · Remote · Москва
Please open Telegram to view this post
VIEW IN TELEGRAM
Юмани
Junior · Hybrid · Санкт-Петербург
Сентал
Junior · Remote
Интернет-Правосудие
Junior · Remote·💰 от ₽300 000
VK
Junior · Hybrid · Москва, Санкт-Петербург
Lexica
Middle · Remote · РФ ·💰 от ₽150 000
ТАЙМБУК
Middle · Remote · Нижний Новгород
DataUniverse
Middle · Remote · Россия ·💰 до ₽250 000
Сбер
Middle · Hybrid · Москва
Лектон
Senior · Hybrid · Москва, Санкт-Петербург ·💰 от ₽300 000
Точка Банк
Senior · Hybrid ·💰 до ₽500 000
Please open Telegram to view this post
VIEW IN TELEGRAM
Сбер
Junior · Hybrid · г. Сочи
Сбер
Junior · Office · Москва
Билайн
Middle · Remote · Россия
VK
Middle · Hybrid · Санкт-Петербург
Т-Банк
Middle · Hybrid · Челябинск
Мегафон
Middle · Office · Москва
NWIRE
Middle · Remote
ПУЛЬС АЙТИМ
Middle · Remote
Альфа-Банк
Senior · Remote
RedLab
Senior · Remote ·💰 ₽300 000 – 400 000
Please open Telegram to view this post
VIEW IN TELEGRAM