Бонусное задание | 10 лекция | 10 уровень

Открыта

— Привет, Амиго! Что-то ты расслабился! Вот твои задания. Если вдруг возникнут трудности, то обращайся к коллегам, они точно помогут.

6
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Минимум изменений
Как же всё-таки здорово, когда усилия оптимизированы! Только вот процесс оптимизации не всегда простой. Давайте потренируемся в нём, а заодно и сериализацию подучим вам нужно сделать возможной сериализацию некоего класса при минимальных изменениях кода. Вперёд!
12
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Десериализация
На вход подается поток, в который записан сериализованный объект класса A либо класса B. Десериализуйте объект в методе getOriginalObject так, чтобы в случае возникновения исключения было выведено сообщение на экран и возвращен null. Реализуйте интерфейс Serializable там, где необходимо.
20
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Найти ошибки
Почему-то при сериализации/десериализации объекта класса B возникают ошибки. Найди проблему и исправь ее. Класс A не должен реализовывать интерфейсы Serializable и Externalizable. В сигнатуре класса В ошибки нет :). В методе main ошибок нет.
6
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Исправить ошибку. Сериализация
После десериализации объекта класса Solution обнаружили, что данных в словаре [m] нет :( Исправить 1 ошибку.
6
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Сериализация человека
И появился у нас человек. Класс Person, то бишь. И пришла пора его сериализовывать. И делать это нужно вам. Самым естественным образом. Если нужно, добавьте к некоторым полям модификатор transient. Но только если нужно.
6
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Сериализация под запретом
Давайте поговорим про исключения, а именно — NotSerializableException. Именно с помощью этого длинного слова и соответствующей конструкции вам предстоит запретить сериализацию класса SubSolution. Только сигнатуры классов не меняйте, пожалуйста.
20
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Переопределение сериализации в потоке
Вы уже привыкли к тому, что в мире есть масса неправильного и глючного кода? Вот вам ещё немного. Здесь сериализация и десериализация Solution не работает. Вам предстоит удовольствие исправить ошибки, не меняя сигнатуры методов и класса.
12
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Делаем правильный вывод
У нас есть код. Но всё в нем не так… Нам нужно кое-что поменять. А именно — расставить обращения к методам суперкласса и модификаторы доступа так, чтобы получить вывод на экран определённого характера. Какого именно? Узнаете из задачи.
12
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Знакомство с графами
Графья нынче не те пошли. Вот эти, плоские, с циклами и петлями. Благо хоть, ориентированные, а то совсем бы худо пришлось… И что нам с ними делать? А ничего. Просто изучать и надеяться на лучшее.

— Ты уже всё сделал? Вот тебе ещё и бонусные задания повышенной сложности:

20
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Алгоритмы-числа
Ура, задачи на алгоритмы! Их очень любят резиденты планеты Линейный Хаос. И вы должны любить, по крайней мере, до того момента, как пройдёте пару-тройку собеседований. Итак, у вас есть число из некоторого количества чисел. Нужно найти все числа меньше N, которые удовлетворили бы некоторому критерию (о нём узнаете в самой задаче!).
12
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Алгоритмы-прямоугольники
И снова задача на алгоритмы, теперь о массивах, которые содержат прямоугольники. В этот раз всё небанально, так что, возможно, найдётся упорядоченный изоморф, который не сможет решить задачку о возврате количества прямоугольников. А ведь эти ребята только тем и занимаются, что упорядочиванием и сравнением.
20
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Кроссворд
Нет, нам не придётся решать кроссворды. Нам нужно решить нетривиальную задачку про кроссворды. Есть двумерный массив, а в нём — слова, слова, слова. По горизонтали, по вертикали, по диагонали… Нужно найти все слова в массиве.
Комментарии (157)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Роман20 уровень, Москва
5 часов назад
Алгоритмы-числа - бился неделю с ней, но победил) 1) при N = Long.MAX_VALUE должен быть [1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634, 8208, 9474, 54748, 92727, 93084, 548834, 1741725, 4210818, 9800817, 9926315, 24678050, 24678051, 88593477, 146511208, 472335975, 534494836, 912985153, 4679307774, 32164049650, 32164049651, 40028394225, 42678290603, 44708635679, 49388550606, 82693916578, 94204591914, 28116440335967, 4338281769391370, 4338281769391371, 21897142587612075, 35641594208964132, 35875699062250035, 1517841543307505039, 3289582984443187032, 4498128791164624869, 4929273885928088826] 1) time должно быть меньше 10 сек, если увидите ошибку " должно возвращать массив удовлетворяющий условию"
Роман20 уровень, Москва
среда, 07:05
Знакомство с графами - эпик просто... И что нам с ними делать? А ничего
Vitalachka20 уровень, Лондон
6 июля, 22:27
что-то это меня пугает -> Алгоритмы-числа - "Ура, задачи на алгоритмы!" 🤪
happyjun20 уровень, Новосибирск
5 июля, 19:07
Задача Алгоритмы-числа олимпиадная?!? Самый быстрый перебор на миллиарде уже будет дольше 10 секунд...
happyjun20 уровень, Новосибирск
6 июля, 14:13
Да. число Армстронга пока самая сложная задача на данный момент. (речь именно об алгоритме, просто заполнение массива вручную известными числами отстой) Всего эту задачу решили 5526 учеников. - без костылей, часов 20 ушло... 😱 Long.MAX_VALUE memory 481 time = 3.64 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! P.S. ноль валидатору не нужен, начинаем с единицы...
Alexey22 уровень
вторник, 10:29
С точки зрения математики/инженерии возможно отстой, хотя и здесь спорно. С точки зрения овладения инструментом под названием Java , завести массив с нужными константами ( всего 52 элемента ) и решить ( а ведь в рамках курса, имхо, главное решить), по моему нормальный ход. Я сделал достаточно быстро именно сделав массив =) Правда чтобы прийти к массиву мне нужно было увидеть это https://mathworld.wolfram.com/NarcissisticNumber.html - то есть понять что их достаточно мало.
Alexey22 уровень
вторник, 10:30
Если бы их было > 1000 , скорее всего заморачивался бы с алгоритмом =)
happyjun20 уровень, Новосибирск
вторник, 11:19
а ведь в рамках курса, имхо, главное решить (с) вы подглядели решение, а не решили! Подглядеть готовые цифры и ручками вписать их в массив - ничем не отличается от просто подглядеть чужое решение, скопировать его и нажать кнопку "валидация"... как с точки зрения математики, программирования, владением инструментом под названием Java или любым другим оправданием...
Alexey22 уровень
вторник, 11:37
вы подглядели решение, а не решили! (с) Если взять математику, то отчасти да, если инструмент, то не соглашусь - код мой =)
Ян22 уровень, Лида
2 июля, 21:40
Я один заметил, что за 20 уровней могильщик Бобров дал 12 задач только в этом уровне (в остальных было по 13)?
Максим Polo22 уровень, Иркутск
13 июня, 06:20
Найти ошибки! ДЖ.Блох 425 стр. помогла!
Юлий22 уровень, Оренбург
3 июня, 16:07
Кто может подсказать какой квест начинать дальше? И что пригодится больше в будущем?Не могу определиться.
Niqita)_22 уровень, Chelyabinsk
11 июня, 17:26
++
Fregat25 уровень, Днепр
15 июня, 19:15
Я лично определялся по полезным ссылкам от Профессора) т.е 1 квест Java Syntax - 1 - 10; 2 квест Java Core - 11 - 20; а далее получается 3 квест Multithreading - 21 - 30 и в конце 4 квест 31 - 40
Ян22 уровень, Лида
5 июля, 16:41
Подскажите, пожалуйста, если я выберу квест Java Multithreading я смогу после прохождения этого квеста (Java Multithreading) потом пройти квест Java Collections или нет?
Юлий22 уровень, Оренбург
6 июля, 12:47
да
Ян22 уровень, Лида
вторник, 17:56
public final String S_O_M_E_T_H_I_N_G = "Спасибо";
К М25 уровень, Новосибирск
30 апреля, 12:30
2026 - неожиданно простое решение Декомпозиция наше все! 3 переменных 2 for 3 if
Владислав37 уровень
1 мая, 07:36
Можно подробнее, пожалуйста?
К М25 уровень, Новосибирск
1 мая, 07:53
вводишь 3 переменные count, preX и preY pre=0 проходишь построчно при нахождении 1 проверяешь состояние preX - если 0, то сount++ и preX=1 при обнаружении 0 - preX=0 count -  не изменяешь начиная со 2 строчки проверяешь ещё и состояние ячейки сверху(preY) , и дополнительно меняешь состояние  preY.
Андрей27 уровень, Санкт-Петербург
14 мая, 18:45
Можно и с одной переменной, только if становится посложнее немного. А так вообще одна строка, по сути.
Егор31 уровень,
29 апреля, 17:04
Бонусные задачи это: *увидел задачу* -Ага, ну так-то решаемо, сейчас что-то быстро накидаю.. *спустя "что-то быстро накидаю" дней*
it0n00b25 уровень, Запорожье
24 апреля, 11:21
Для задачи "Найти ошибки" У класса А создать конструктор без параметров. Тогда при десериализации все переменные класса А будут инициализированы с помощью этого конструктора. Переменные класса В будут инициализированы значениями из потока сериализованных данных. В классе В определить методы – readObject и writeObject, – в начале которых производить (де-)сериализацию переменных класса В через in.defaultReadObject/out.defaultWriteObject, а потом – (де-)сериализацию доступных переменных из класса А.
Vladimir Schipanov20 уровень, Москва
17 мая, 12:37
Solution должен реализовывать Serializable?
it0n00b25 уровень, Запорожье
17 мая, 12:45
Ага