|
1 / 0 / 0
Регистрация: 01.07.2016
Сообщений: 13
|
||||||
Задача на собеседовании01.07.2016, 19:13. Показов 10648. Ответов 41
Метки нет (Все метки)
Добрый день.
Являюсь начинающим разработчиком и пытался проходить одно собеседование на позиции стажера Junior Java и после моего предложенного решения мне отказали. Хотел бы все-таки попытаться решить данную задачу или как минимум то решение, которое хотели от меня интервьювер. Задча была следующей. Написатть метод merge, который принимаем в качстве параметров два ArrayList a и b. Данные коллекции можно представить в виде a = [a1, a2, a3, ....] и b = [b1, b2, b3, ...]. По результату выполеения программы надо получить в коллекции а следующее a= [a1, b1, a2, b2, a3, b3.....]. При этом необходимо написать метод, который экономный к процессорному времени и памяти. Я предложил следующий вариант решения задачи:
Учитывая, что в принципе знаю внутреннюю реализацию этой коллекции, постарался избежать ситуаций копирования массива, который справа от вставляемого элемента и начал задачу с конца, и по большей части полагаясь на не ресурсоемком методе get.
0
|
||||||
| 01.07.2016, 19:13 | |
|
Ответы с готовыми решениями:
41
Задача на собеседовании Задание на собеседовании - в чём ошибка? Для работающих Java-программистом. Вопросы на собеседовании |
|
0 / 0 / 0
Регистрация: 22.08.2016
Сообщений: 1
|
||||||
| 20.12.2016, 13:54 | ||||||
А на счет capasity. Тут совершенно не влияет на скорость работы,т.к. без него мы увеличиваем массив 2 раза, а с ним 1 раз. Это настолько малые времязатраты, по сравнению с добавлением элементов одного массива в другой, что не играет никакой роли. Если чушь пишу, поправьте)
0
|
||||||
|
3 / 3 / 2
Регистрация: 21.12.2016
Сообщений: 8
|
|||||||
| 21.12.2016, 18:13 | |||||||
|
Твой вдвое медленнее: merge1 Мой где-то посередине: merge0 Что удивительно, т.к. код мягко говоря костылен: Кликните здесь для просмотра всего текста
Потом заполняем пустое место данными из вторых половинок обоих массивов, сразу с чередованием. На этом конец выходного массива сформирован, осталось сформировать начало. В начале массива половина данных (1/4 размера выходного массива) уже скопирована в конец - смело растягиваем первую 1/4 данных ровно до половины выходного массива, затирая уже неактуальные данные. Ну и в конце распихиваем первую половину второго массива по первой половине выходного массива, между растянутыми элементами. Получается три цикла по половине входного массива и количество перемещенных элементов равное размеру выходного массива минус один.
0
|
|||||||
| 21.12.2016, 18:13 | |
|
Помогаю со студенческими работами здесь
42
Задача на собеседовании Задача на собеседовании Задача при собеседовании! Задача на логическое мышление на собеседовании
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|