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

Открыта

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

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

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

11
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Алгоритмы-числа
Ура, задачи на алгоритмы! Их очень любят резиденты планеты Линейный Хаос. И вы должны любить, по крайней мере, до того момента, как пройдёте пару-тройку собеседований. Итак, у вас есть число из некоторого количества чисел. Нужно найти все числа меньше N, которые удовлетворили бы некоторому критерию (о нём узнаете в самой задаче!).
11
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Алгоритмы-прямоугольники
И снова задача на алгоритмы, теперь о массивах, которые содержат прямоугольники. В этот раз всё небанально, так что, возможно, найдётся упорядоченный изоморф, который не сможет решить задачку о возврате количества прямоугольников. А ведь эти ребята только тем и занимаются, что упорядочиванием и сравнением.
11
Задача
Java Core,  10 уровень,  10 лекция
Недоступна
Кроссворд
Нет, нам не придётся решать кроссворды. Нам нужно решить нетривиальную задачку про кроссворды. Есть двумерный массив, а в нём — слова, слова, слова. По горизонтали, по вертикали, по диагонали… Нужно найти все слова в массиве.
Комментарии (85)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Самуил Олегович22 уровень, Киев
14 июля, 15:05
1319 ЧМ
Григорий Рубцов22 уровень, Санкт-Петербург
9 июля, 12:57
Мне одному показалось, что задач всего 12 ???))
Самуил Олегович22 уровень, Киев
13 июля, 12:15
Я тоже не поверил своим глазам, пять раз пересчитал, все же 12-ть!
Артём Маслов35 уровень, Санкт-Петербург
29 июня, 16:12
Мерзкие задачи. Понятно, что не понятно. Но не понятно, что же именно не понятно
Самуил Олегович22 уровень, Киев
13 июля, 12:16
А сегодня в завтрашний день не все могут смотреть. Вернее, смотреть могут не только лишь все. Мало, кто может это делать.
Михаил24 уровень, Ставрополь
17 июня, 14:13
Великолепные задачи про алгоритмы-числа, прямоугольники и кроссворд. Заставляют напрягать мозги, брать карандаш и бумагу, применить логику и абстрактное мышление на полную катушку.
Pavel Ivan22 уровень, Минск
16 мая, 19:36
задача "найти ошибки" : вносить изменения нужно и в класс А и Б и не только! почитайте про это defaultWriteObject() и in.defaultReadObject(). И почитайте про проблему обращения сереализированных классов к не!
Марина27 уровень
15 февраля, 12:29
А правда ли задачку 2025 читерски решать для соблюдения скоростного режима? с готовыми числами Армстронга? :(
Марина27 уровень
15 февраля, 12:40
Почитала комменты... матрицы еще используют! Или вот секрет от Владимира Секретная ссылка П.С.: приятно поговорить с умным человеком:)
Евгений41 уровень, Москва
13 марта, 13:15
Алгоритм по приведенной ссылке вполне рабочий. Последняя моя версия, не читерская справляется примерно за 5 секунд до Long.MAX_VALUE. Очень советую задачу решить. Для меня она стала переломным моментом, после которого стало понятно, что в принципе все решаемо, просто где-то надо побольше подумать/почитать.
Марина27 уровень
15 февраля, 09:10
Задача 2024... Просто почитать доп материал? От картинки (что по ссылке) начал дергаться глаз... Хм... понятно будет в следующих задачах, видимо! Ну! ВПЕРЕД!
Марина27 уровень
14 февраля, 09:47
Задача 2018. Внимание, спойлер! Значит все мне было понятно про (де)сериализацию, про интерфейсы Serializable и Externalizable, про тайный serialVersionUID, про то как и когда лучше использовать, про вызовы конструкторов, про переопределение методов и "ручное" управление, НО Я эту задачу и так и эдак.. понимаю, что ругается на конструктор, но че не устраивает??? Да, Serializable не вызывает конструктор при десериализации... Оказывается! Сохранили мы данные с 2мя String, а выгружается, то только в один... второго же нет, конструктор по боку!!! (Это я все поняла подглядев ответ у Di)... у самой не хватило логики (((( В итоге, переопределив методы writeObject(ObjectOutputStream out) и readObject(ObjectInputStream in), я решила задачу! НО!!! Я не поняла, почему для класса А нужен был еще и пустой конструктор? Для дефолта??? Конечно жииии я могла все неправильно понять, готова слушать комментарии) Java зе бест оф зе бест оф зе бест оф зе бест...
Даниил33 уровень
7 февраля, 16:45
Да, крайние 3 задачи я просто не способен решить. Даже толком понять до конца из них одну не смог...
Даниил33 уровень
11 июня, 17:34
Вернулся к ним несколько недель назад. Про числа армстронга решал недели 2 вечерами почти каждый день. Едва впихнулся по времени, по памяти даже не проходило. Прямоугольники решал наверное день без учёта перерывов (потому что был перерывчик в изучении в недельку) и самой большой сложностью оказалось не натупить в понимании задания. Кроссворд решал грубо говоря день с учётом перерывом, там нужно угадать что валидатор хочет. Всё описывал в разделах "Обсуждение" к каждой из этих 3-х задач.
Mikhail Lazarev25 уровень
29 января, 16:33
УДивительно. В курсе говорили, что для кастомной сериализации нужно использовать интерфейс Externalazible, однако есть методы readObject() и writeObject (), которые можно переопределить для интерфейса Serializable.