делайте над собой усилиеAlex M. Jake wrote:У меня мозги испорчены мобилами и embedded, у меня в мозгах дополнительные временные массивы и контейнеры просто не укладываются.
Амазон зовет в Сиэтл, сколько денег просить?
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Амазон зовет в Сиэтл, сколько денег просить?
-
- Уже с Приветом
- Posts: 8628
- Joined: 22 Mar 2011 01:40
Re: Амазон зовет в Сиэтл, сколько денег просить?
Разумеется хэш-мап.Alexandr wrote:чтобы был O(n) нужен хеш-меп
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Амазон зовет в Сиэтл, сколько денег просить?
поумничать ужо низяЛеонид Ильич Брежнев wrote:Разумеется хэш-мап.Alexandr wrote:чтобы был O(n) нужен хеш-меп
-
- Уже с Приветом
- Posts: 8628
- Joined: 22 Mar 2011 01:40
Re: Амазон зовет в Сиэтл, сколько денег просить?
Правильно делаешь, что умничаешь. Это все лишние баллы в плюс.
-
- Уже с Приветом
- Posts: 808
- Joined: 13 Jan 2009 05:11
- Location: из страны восходящих закатов
Re: Амазон зовет в Сиэтл, сколько денег просить?
у меня еще вот такую похожую спрашивали.
Разница в том что это не односвязный список, а граф.
Разница в том что это не односвязный список, а граф.
You are in the network operations center where they have found a puzzling issue.
Data packets seem to be looping within the network and they have asked that you find the loop.
It is discovered you can abstract this problem to a directed graph with non-negative values.
Note that in this directed graph each node N can traverse to multiple different nodes M’.
1) Describe how you would find whether there is a loop in the graph
2) Please create the pseudo-code
3) What is the runtime complexity of your algorithm?
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Амазон зовет в Сиэтл, сколько денег просить?
Я такую в Квалкомме решал. Причем каким-то совершенно тупым способом в лоб, с растущим раздражением - ну есть же красивое решение, которого я не знаю, да засчитайте уже слив и давайте другую - а они довольны остались и даже офер сделалиvopros wrote:у меня еще вот такую похожую спрашивали.
Разница в том что это не односвязный список, а граф.
You are in the network operations center where they have found a puzzling issue.
Data packets seem to be looping within the network and they have asked that you find the loop.
It is discovered you can abstract this problem to a directed graph with non-negative values.
Note that in this directed graph each node N can traverse to multiple different nodes M’.
1) Describe how you would find whether there is a loop in the graph
2) Please create the pseudo-code
3) What is the runtime complexity of your algorithm?
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Амазон зовет в Сиэтл, сколько денег просить?
Вопрос избитый, но если занудствовать то хешмап совсем не факт что О(н).Alexandr wrote:не будет, вам надо еще в этом внешнем мэпе искать каждый раз, а это O(log n), чтобы был O(n) нужен хеш-мепЛеонид Ильич Брежнев wrote:Ну если отсортированный тогда да. А вот если HE сортированный, тогда либо сортировать, O(n log n), либо использовать внешний мэп, и тогда это будет O(n)
ЗЫ ну это я автоматом под мэпом подразумеваю реализацию на основе красно-черного дерева
In vino Veritas!
-
- Posts: 14
- Joined: 26 Apr 2009 00:05
Re: Амазон зовет в Сиэтл, сколько денег просить?
Вот мой тест: Please write code to print out all permutations of a given string. A permutation represents all the ways in which the same collection of objects can be ordered. In this case you will print all possible orderings of the characters within the given string.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Амазон зовет в Сиэтл, сколько денег просить?
Ммм... а у строки "мама" будут еще три перестановки, читающиеся "мама" или их таки надо фефективно отфильтровывать? Хотя, по-моему, двольно просто и так и эдак.Eug9n9 wrote:Вот мой тест: Please write code to print out all permutations of a given string. A permutation represents all the ways in which the same collection of objects can be ordered. In this case you will print all possible orderings of the characters within the given string.
НО. То, о чем я стараюсь никогда не забывать. Это хоть и просто, но в рамках интервью облажаться - как нефиг сделать
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 64661
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Амазон зовет в Сиэтл, сколько денег просить?
общее число unique перестановок будет 4! / (2! * 2!) = 24/4 = 6
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Амазон зовет в Сиэтл, сколько денег просить?
Это, очевидно, так и есть. Вопрос только, каковы условия задачи - выдать 24 перестановки как "all permutations" из условия задачи или таки выдать 6 "unique permutations" как подсказывает здравый смысл. Второе таки сложнее (или я не вижу простого шортката)Komissar wrote:общее число unique перестановок будет 4! / (2! * 2!) = 24/4 = 6
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 2997
- Joined: 14 Apr 2004 01:11
- Location: SFBA (было: Минск, Беларусь)
Re: Амазон зовет в Сиэтл, сколько денег просить?
Поиск цикла в орграфе - это просто банальный поиск в глубину (DFS). С стандартной DFS-терминологии ("белые", "серые" и "черные" вершины), в графе есть цикл если и только если в процессе DFS вы, пройдя через очередное ребро, наткнулись на "серую" вершину.vopros wrote: 1) Describe how you would find whether there is a loop in the graph
Best regards,
Андрей
Андрей
-
- Уже с Приветом
- Posts: 2997
- Joined: 14 Apr 2004 01:11
- Location: SFBA (было: Минск, Беларусь)
Re: Амазон зовет в Сиэтл, сколько денег просить?
В таких вопросах всегда возникает закономерный встречный вопрос: а можно просто воспользоваться 'std::next_premutation' и не вдаваться в детали алгоритма перечисления перестановок?Eug9n9 wrote:Вот мой тест: Please write code to print out all permutations of a given string. A permutation represents all the ways in which the same collection of objects can be ordered. In this case you will print all possible orderings of the characters within the given string.
Best regards,
Андрей
Андрей
-
- Уже с Приветом
- Posts: 5104
- Joined: 19 Oct 2004 01:46
Re: Амазон зовет в Сиэтл, сколько денег просить?
По-моему, это все-таки Combinations, а не Permutations.Komissar wrote:общее число unique перестановок будет 4! / (2! * 2!) = 24/4 = 6
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Амазон зовет в Сиэтл, сколько денег просить?
Да, пермутаций без учета уникальности наверное n! будет.Физик-Лирик wrote:По-моему, это все-таки Combinations, а не Permutations.Komissar wrote:общее число unique перестановок будет 4! / (2! * 2!) = 24/4 = 6
In vino Veritas!
-
- Уже с Приветом
- Posts: 64661
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Амазон зовет в Сиэтл, сколько денег просить?
из-за двух повторяющися букв (каждая по две) в данном случае совпало с C(4,2), но в общем случае надо брать все пермутации (n!) и делить на число перестановок каждой повторяющейся буквы.Физик-Лирик wrote:По-моему, это все-таки Combinations, а не Permutations.Komissar wrote:общее число unique перестановок будет 4! / (2! * 2!) = 24/4 = 6
http://answers.yahoo.com/question/index ... 938AA5x53p
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Амазон зовет в Сиэтл, сколько денег просить?
Чувствуется рука победителя всесоюзных олимпиад по математике ))Komissar wrote:из-за двух повторяющися букв (каждая по две) в данном случае совпало с C(4,2), но в общем случае надо брать все пермутации (n!) и делить на число перестановок каждой повторяющейся буквы.Физик-Лирик wrote:По-моему, это все-таки Combinations, а не Permutations.Komissar wrote:общее число unique перестановок будет 4! / (2! * 2!) = 24/4 = 6
http://answers.yahoo.com/question/index ... 938AA5x53p
In vino Veritas!
-
- Новичок
- Posts: 57
- Joined: 01 Jun 2005 19:44
Re: Амазон зовет в Сиэтл, сколько денег просить?
"- You may use any functions or classes from the JDK, STL, or .Net Framework."AndreyT wrote:В таких вопросах всегда возникает закономерный встречный вопрос: а можно просто воспользоваться 'std::next_premutation' и не вдаваться в детали алгоритма перечисления перестановок?
PS: мда... Решение - одна строчка...
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Амазон зовет в Сиэтл, сколько денег просить?
исходная задача O(n), hashmap - O(1)crypto5 wrote:Вопрос избитый, но если занудствовать то хешмап совсем не факт что О(н).Alexandr wrote:не будет, вам надо еще в этом внешнем мэпе искать каждый раз, а это O(log n), чтобы был O(n) нужен хеш-мепЛеонид Ильич Брежнев wrote:Ну если отсортированный тогда да. А вот если HE сортированный, тогда либо сортировать, O(n log n), либо использовать внешний мэп, и тогда это будет O(n)
ЗЫ ну это я автоматом под мэпом подразумеваю реализацию на основе красно-черного дерева
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Амазон зовет в Сиэтл, сколько денег просить?
Если все числа будут вызывать колизии то хешмап может вполне и до O(n) спустится.Alexandr wrote:исходная задача O(n), hashmap - O(1)crypto5 wrote:Вопрос избитый, но если занудствовать то хешмап совсем не факт что О(н).Alexandr wrote:не будет, вам надо еще в этом внешнем мэпе искать каждый раз, а это O(log n), чтобы был O(n) нужен хеш-мепЛеонид Ильич Брежнев wrote:Ну если отсортированный тогда да. А вот если HE сортированный, тогда либо сортировать, O(n log n), либо использовать внешний мэп, и тогда это будет O(n)
ЗЫ ну это я автоматом под мэпом подразумеваю реализацию на основе красно-черного дерева
In vino Veritas!
-
- Уже с Приветом
- Posts: 10708
- Joined: 22 Jul 2006 20:19
Re: Амазон зовет в Сиэтл, сколько денег просить?
Я понимаю что во первых абсолютно не квалифайед для такого рода задач и никогда не буду работать ни в одной приличной конторе которая требует умения решать такие задачи.Komissar wrote:из-за двух повторяющися букв (каждая по две) в данном случае совпало с C(4,2), но в общем случае надо брать все пермутации (n!) и делить на число перестановок каждой повторяющейся буквы.Физик-Лирик wrote:По-моему, это все-таки Combinations, а не Permutations.Komissar wrote:общее число unique перестановок будет 4! / (2! * 2!) = 24/4 = 6
http://answers.yahoo.com/question/index ... 938AA5x53p
Но только честно скажите - а нафига это нужно? Кто нибудь хоть раз в реальном проекте заделывал что то подобное?
За 33 года что занимаюсь программированием лично мне ничего этого не понадобилось. И я не знаю никого кому бы такие вещи понадобились в работе.
Типа пытаемся найти умную голову? Ну бог в помощь. Умные головы на самом деле программированием не занимаются и уж точно код не пишут для амазоноф..
Они либо занимаются чем то неденежным из любви к искусству либо деньги делают.
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Амазон зовет в Сиэтл, сколько денег просить?
может, "но как правило, этого не происходит" (с) на то он и худший случай, чтоб не прям уж часто случатьсяcrypto5 wrote:Если все числа будут вызывать колизии то хешмап может вполне и до O(n) спустится.Alexandr wrote:исходная задача O(n), hashmap - O(1)crypto5 wrote:Вопрос избитый, но если занудствовать то хешмап совсем не факт что О(н).Alexandr wrote:не будет, вам надо еще в этом внешнем мэпе искать каждый раз, а это O(log n), чтобы был O(n) нужен хеш-мепЛеонид Ильич Брежнев wrote:Ну если отсортированный тогда да. А вот если HE сортированный, тогда либо сортировать, O(n log n), либо использовать внешний мэп, и тогда это будет O(n)
ЗЫ ну это я автоматом под мэпом подразумеваю реализацию на основе красно-черного дерева
-
- Уже с Приветом
- Posts: 4205
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
Re: Амазон зовет в Сиэтл, сколько денег просить?
это аналог стандартизированных IQ тестов. проверяется насколько боец обладает минимальным уровнем памяти, помнит ли простейшие вещи из школьного курса (в моей школе комбинаторика была частью программы).adda_ wrote:Я понимаю что во первых абсолютно не квалифайед для такого рода задач и никогда не буду работать ни в одной приличной конторе которая требует умения решать такие задачи.Komissar wrote:из-за двух повторяющися букв (каждая по две) в данном случае совпало с C(4,2), но в общем случае надо брать все пермутации (n!) и делить на число перестановок каждой повторяющейся буквы.Физик-Лирик wrote:По-моему, это все-таки Combinations, а не Permutations.Komissar wrote:общее число unique перестановок будет 4! / (2! * 2!) = 24/4 = 6
http://answers.yahoo.com/question/index ... 938AA5x53p
Но только честно скажите - а нафига это нужно? Кто нибудь хоть раз в реальном проекте заделывал что то подобное?
За 33 года что занимаюсь программированием лично мне ничего этого не понадобилось. И я не знаю никого кому бы такие вещи понадобились в работе.
Типа пытаемся найти умную голову? Ну бог в помощь. Умные головы на самом деле программированием не занимаются и уж точно код не пишут для амазоноф..
Они либо занимаются чем то неденежным из любви к искусству либо деньги делают.
кстати, некоторые IT конторы ориентированные на найм свежих выпускников натурально предлагают IQ тесты оптимизированные для спортсменов.
Если бы программирование было сложным, то спрашивали бы дифуры, например. А не пошлость типа на пальцах посчитать о большое.
-
- Уже с Приветом
- Posts: 808
- Joined: 13 Jan 2009 05:11
- Location: из страны восходящих закатов
Re: Амазон зовет в Сиэтл, сколько денег просить?
Андрей вот бы вы еще пример кода привели, было бы просто замечательно.AndreyT wrote:Поиск цикла в орграфе - это просто банальный поиск в глубину (DFS). С стандартной DFS-терминологии ("белые", "серые" и "черные" вершины), в графе есть цикл если и только если в процессе DFS вы, пройдя через очередное ребро, наткнулись на "серую" вершину.vopros wrote: 1) Describe how you would find whether there is a loop in the graph
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Амазон зовет в Сиэтл, сколько денег просить?
Там же все просто - красишь сначала все вершины в белое, потом делаешь DFS обход, при спуске вглубь, смотришь на цвет. если белый - красишь в серый и идешь дальше вглубь. если серый - вот он цикл, если черный - там уже были, туда ходить не надо. как уперся в тупик, на обратном пути все красишь в черноеvopros wrote:Андрей вот бы вы еще пример кода привели, было бы просто замечательно.AndreyT wrote:Поиск цикла в орграфе - это просто банальный поиск в глубину (DFS). С стандартной DFS-терминологии ("белые", "серые" и "черные" вершины), в графе есть цикл если и только если в процессе DFS вы, пройдя через очередное ребро, наткнулись на "серую" вершину.vopros wrote: 1) Describe how you would find whether there is a loop in the graph
Мат на форуме запрещен, блдж!