|
|
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Срочно ! ( осталось 3 часа ) Нужна реализация вот такого алгоритма: Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения из списка B. пример: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2011, 23:01 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Упс... ршибочка, я имелл в виду: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2011, 23:09 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Извиняюсь: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 00:25 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
в форум "Работа" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 00:39 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Больно не проверял но работает вроде. (отсчет позиции у меня с нуля идет) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 02:09 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Извини чувак чета я там намудрил. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 03:37 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
неверно и неэффективно. невозможно решать такую задачу без учета ограничений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 03:47 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
dubov1994, А че неверно то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 03:47 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
запусти при A = {2, 2, 2, 2}, B = {5, 2}. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 04:10 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
dubov1994, Ну это ты уже придираешься. Автор просит найти - т.е. негласное условие что она уже там есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 04:12 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
ок, A = {2, 2, 2, 2, 2, 5}, B = {5, 2} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 04:30 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
dubov1994, Ладно уел. Ну так покажи уже мастер-класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 04:42 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
решение или код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 05:04 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
dubov1994, ну давай решение кодом тебя утруждать как-то неудобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 05:05 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
не злись :-) общий глупый алгоритм, поскольку об ограничениях топикстартер умолчал. пусть M = B.length(), N = A.length(); отсортируем B; будем двигать два указателя по массиву A, l и r, изначально l = r = 0; пусть у нас будет массив C[B.length()] такой, что C[i] выражает количество чисел B[i] на отрезке [l; r]; научимся определять "хорошую" последовательность. для нас это означает, что для любого i из [0; B.length()-1] => C[i] > 0; научимся по числу определять его номер в массиве B. поскольку он отсортирован, можно воспользоваться бинарным поиском для ускорения процесса (впрочем, собственно для этого мы его и сортировали). теперь мы можем уменьшать / увеличивать количество одинаковых чисел, существующих в B за O(log M) (C[binary_search(number)] +- 1). теперь определим механизм движения указателей: пока у нас последовательность на отрезке [l; r] "плохая", r++, берём A[r], если бинпоиском находим его в B, увеличиваем соответствующий элемент в C; пока у нас последовательность на отрезке [l; r] "хорошая", релаксируем размер последовательности, уменьшаем что надо в C, l++; итого асимптотика 2*N*M*log(N) (два прохода по A, проверка на "хорошесть", бинпоиск). вроде ничего не забыл :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 05:34 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
dubov1994, Да что ты. Злюсь я падругому аж искры летят. Чтож спасибо. Чесно нихрена не врубил. Надо поспать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 05:46 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
первоначальную последовательность A пропарсить оставив только те, которые есть в B, и выбросив двойные, которые подряд каждому оставшему числу прописать в характеристиках количество выброшенных, а также первую и последнюю позицию текущего числа в оригинальной A. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 10:24 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
andreymxпервоначальную последовательность A пропарсить оставив только те, которые есть в B, и выбросив двойные, которые подряд каждому оставшему числу прописать в характеристиках количество выброшенных, а также первую и последнюю позицию текущего числа в оригинальной A.хотя для случая a = (2,5,2,5,2,5,2,5,2,3) b=(2,5,3) это ни хрена не поможет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 10:26 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Все-таки допилил я свое корявое решение ну такой я уж человек. Не могу без показухи. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 13:40 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Если предположить что атомы в списке - это chars то можно искать группы через Patterns. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 14:03 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Вот те на, вы вообще запускали свою программу на различных тестах? >< ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 15:22 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
mayton, увы, перестановки через регулярки эффективно никак не задать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 15:27 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
dubov1994, И так и сяк вертел. В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 15:29 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
А вообще, из каких условий вообще-то исходим? А если B будет содержать несколько одинаковых значений? А насколько вообще могут быть велики используемые значения? Это я к тому, что нарисовался у меня некий алгоритм, но хочется уточнить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 15:36 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
В моей постановке не должно быть перестановок. Есть поиск подстрок состоящих из заданного множества символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 15:37 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Вот те на, хотя бы в том, что у вас countchecked никогда не обнуляется. да и в целом алгоритм неверен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 15:38 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
AndreTM, а, вот думал же в 5 утра, что что-то забыл :-) одинаковые быстро фиксятся в моём алгоритме. вообще, конечно, без ограничений ничего не сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 15:41 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
dubov1994, Он и не должен обнуляться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 15:42 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Вот те на, короче, найдите контрпримеры сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 15:43 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
AndreTM, AndreTM, Список B не содержит повторяющихся значений Используемые значения могут быть очень велики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 16:04 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Вот веселые картинки к алгоритму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 16:10 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. обработку ситуации когда ответа нет, не делал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 16:19 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
xaoc2Используемые значения могут быть очень велики Вот и вопрос - насколько велики? Вернее, разрядность значений какова? Просто возникла мысль вместо перебора эначений множества B использовать, например, решето. Скажем, при целых значениях, - гига оперативки хватит на числа (порядка) до 8 млрд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 16:25 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
AndreTM, а чем бинпоиск плох? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 16:58 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
dubov1994, Слушай а как ты определяешь верен алгоритм или нет. Может научишь? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 17:39 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Вот те наdubov1994, Слушай а как ты определяешь верен алгоритм или нет. Может научишь? :) Это фундаментальная проблема. Над ней (ИМХО) еще Гёдель ломал моск. Нет тестов которые-бы показали что алгорим верен в общем случае. Но есть возможность указать частные случаи, когда алгоритм не работает (прогнать десяток модульных тестов). Забавно но сколько-бы тестов не прогоняли всё равно нет доказательства что в алгоритме нет ошибок. Или правильнее сказать что так тестируют только уж очень простые алгоритмы. Яркий пример сложных алгоритмов - это современное ПО. Опрационки, драйверы, прочий софт. В них изначально заложены ошибки. Часть из них - детектируют. Часть остаётся навсегда неизвестными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 17:54 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Вот те наdubov1994, Слушай а как ты определяешь верен алгоритм или нет. Может научишь? :) в принципе можно доказать корректность алгоритма рассматривая инварианты цикла, но мне больше нравится декларативный код, где этих циклов нет. вот в правильности логики приведенного мной решения я почти уверен, разве что где сделал опечатку. ну и не рассмотрен случай когда такой последовательности нет. а уверен, потому, что решение простое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 18:29 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, Это эф шарп? Эх никак не могу я сойти с иглы си шарпов - ломка. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 18:35 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Вот те наZyK_BotaN, Это эф шарп? Эх никак не могу я сойти с иглы си шарпов - ломка. :( можно подобный код и на С# написать. для этого нужно заюзать линк. вот книга хорошая, учит ФП, не отходя от С-Шарпа, а если быть точнее, там идут примеры паралельно и на С-Шарпе и на Эф-Шарпе http://www.manning.com/petricek/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 18:40 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Вот те на, суть кода прокомментировать нужно? или и так все понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 18:41 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNВот те на, суть кода прокомментировать нужно? или и так все понятно? Не надо разберемся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 18:43 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Вот те наZyK_BotaNВот те на, суть кода прокомментировать нужно? или и так все понятно? Не надо разберемся. мужик )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 18:44 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
Я всё-таки сделал прогу с учётом всех условий, но стесняюсь выкладывать. Ибо тестил на VB прямо в офисе (ну нету у меня на офисном компе C-компилятора ) Код, конечно, не оптимизирован вообще. Но это дело недолгое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 23:48 |
|
||
|
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения
|
|||
|---|---|---|---|
|
#18+
AndreTMЯ всё-таки сделал прогу с учётом всех условий, но стесняюсь выкладывать. Ибо тестил на VB прямо в офисе (ну нету у меня на офисном компе C-компилятора ) Код, конечно, не оптимизирован вообще. Но это дело недолгое... а что порочного в вб? выкладывай исходники на форум )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2011, 23:51 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1342882]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 427ms |

| 0 / 0 |
