- 1
- 2
- 3
- 4
- 5
- 6
Итак, у вас есть два стека с ограничением на размер - N. Стеки поддерживают операции push, pop, top.
pop пустого стека, как и push заполненного стека вызывает соответствующее исключение.
Необходимо из этих двух стеков смоделировать стек с таким же размером, но с дополнительным свойством -\
push заполненного стека вызывает затирание последнего элемента стека, push(41,[1,2,3]) -> [41,1,2] ,\
где N=3.
Время пошло. Язык программирования любой.
Да, это не говнокод, но 90% кандидатов не могут ее решить. (Наверное, потому, что язык собеседования - 1С)
alexoy 08.10.2011 22:19 # −3
roman-kashitsyn 08.10.2011 22:22 # +1
alexoy 08.10.2011 22:23 # −2
roman-kashitsyn 08.10.2011 22:38 # +2
guest 08.10.2011 22:27 # +5
alexoy 08.10.2011 22:30 # −2
guest 08.10.2011 22:36 # +2
гугл в помощь. за 24 часа успеешь. (:
>а может и раньше
если не успеешь нагуглить раньше, то мы заминусуем (:
>если не увижу правильных мыслей
телепат в треде! живой и не в отпуске! (:
koodeer 09.10.2011 11:51 # +3
Гм, что-то мне ursus вспомнился...
RS-232 09.10.2011 11:54 # 0
Lure Of Chaos 08.10.2011 22:30 # +1
а решение - с помощью второго буфера "копируем" pop-pop-pop,push-push-push элементы туда-обратно, имитируя операцию shift, затем последний push.
alexoy 08.10.2011 22:34 # −3
TarasB 08.10.2011 22:37 # +1
Автор хочет, чтобы мы это решили за O(1).
Я вот не могу, например. Только это, скорее, не я не прошёл собеседование, а тот, кто задал задачу не прошёл собеседование у меня, потому что за O(1) тут нихуя не решается одними только pop и push.
alexoy 08.10.2011 22:40 # −2
TarasB 08.10.2011 22:44 # +1
Lure Of Chaos 08.10.2011 22:42 # 0
Lure Of Chaos 08.10.2011 22:44 # 0
TarasB 08.10.2011 22:48 # +2
Хранить внутри два стека. Второй отличается от первого отсутствием элемента на дне. Когда первый переполняется, возвращать ссылку на второй.
Lure Of Chaos 08.10.2011 22:51 # 0
guest 08.10.2011 22:55 # −1
roman-kashitsyn 08.10.2011 23:16 # 0
Lure Of Chaos 08.10.2011 23:31 # 0
RS-232 08.10.2011 23:38 # 0
Автор, ответь.
Lure Of Chaos 09.10.2011 00:01 # 0
Dummy00001 09.10.2011 00:31 # 0
guest 08.10.2011 22:38 # 0
Lure Of Chaos 08.10.2011 22:41 # 0
guest 08.10.2011 22:47 # 0
Под последним элементом стека подразумевается последний засунутый в стек элемент? Это легко за О(1) (:
алексуй, ответь. (:
alexoy 08.10.2011 22:50 # −2
guest 08.10.2011 22:52 # 0
Lure Of Chaos 08.10.2011 22:55 # +1
http://caricatura.ru/parad/lock/pic/4027.jpg
Lure Of Chaos 08.10.2011 22:52 # 0
guest 08.10.2011 22:56 # 0
RS-232 08.10.2011 23:05 # 0
Lure Of Chaos 08.10.2011 23:17 # 0
RS-232 08.10.2011 23:21 # 0
а может с вершины?
Предыдущих шагов не показывали и конкретно сторону со дном не указывали. пока это лишь ваши домыслы. (:
Lure Of Chaos 08.10.2011 23:23 # +1
RS-232 08.10.2011 23:27 # +1
Lure Of Chaos 08.10.2011 23:29 # 0
guest 08.10.2011 22:54 # +1
roman-kashitsyn 08.10.2011 23:06 # +4
RS-232 08.10.2011 23:23 # 0
roman-kashitsyn 08.10.2011 23:33 # 0
Lure Of Chaos 08.10.2011 23:26 # +2
alexoy 08.10.2011 23:31 # −2
Lure Of Chaos 08.10.2011 23:39 # 0
roman-kashitsyn 08.10.2011 23:40 # 0
Lure Of Chaos 08.10.2011 23:41 # +1
alexoy 08.10.2011 23:41 # −4
RS-232 09.10.2011 00:10 # +1
Lure Of Chaos 08.10.2011 23:46 # 0
Irdis 08.10.2011 23:42 # +5
alexoy 08.10.2011 23:46 # −1
JeremyW 08.10.2011 23:57 # +1
alexoy 08.10.2011 23:58 # −2
roman-kashitsyn 09.10.2011 00:02 # +1
Lure Of Chaos 09.10.2011 00:06 # +3
Lure Of Chaos 08.10.2011 23:58 # 0
carsten 09.10.2011 00:12 # +2
roman-kashitsyn 09.10.2011 00:13 # 0
carsten 09.10.2011 00:35 # +1
Теперь понял. Я в отношении программирования думаю чисто по-английски, русский сразу в ступор вводит, особенно когда просят из "2 стеков сделать 1"
RS-232 09.10.2011 01:52 # 0
Не, автор темы по русски тоже не разговаривает. Ваш когнитивный диссонанс нам понятен.
RS-232 09.10.2011 00:14 # +3
Uhehesh 09.10.2011 11:46 # 0
len(stack3) = len(stack1) + len(stack2)
F00FC7C8 09.10.2011 05:04 # +3
Алехой, теперь выложите: Программа Хеллоу Ворлд! На ассемблере. Жду решений. Если за сутки не увижу правильных мыслей - дам ответ.
sayidandrtfm 09.10.2011 11:02 # 0
1) S0[1,2,3], S1[];
2) S0[3], S1[2,1];
3) S0[], S1[2,1] ;
4) S0[1,2], S1[];
5) S0[4,1,2], S1[];
RS-232 09.10.2011 11:33 # 0
gegMOPO4 09.10.2011 11:21 # +4
sayidandrtfm 09.10.2011 11:22 # +2
RS-232 09.10.2011 11:23 # −1
Не вопрос. Легко:
Uhehesh 09.10.2011 11:45 # +1
RS-232 09.10.2011 11:46 # −3
sayidandrtfm 09.10.2011 12:15 # 0
RS-232 09.10.2011 12:27 # −1
ps: я не извращенец.
ппс: знаю, что на дворе уже 20тый век.
Интернет?
Не. Не слышал.
sayidandrtfm 09.10.2011 12:36 # −1
iTelepathist?
Lure Of Chaos 09.10.2011 21:20 # +4
ORLY?
guest6 26.08.2023 23:07 # 0
В 21м веке компы на рассоянии 15 километров соединяют через Инетнет обычно, а то и через оптику тонкую и желтую.
guest6 26.08.2023 23:06 # 0
Uhehesh 09.10.2011 11:34 # +3