170 похожих чатов

Подскажите алгоритм, как удалить из массива взаимоисключающие последовательные пары? Например:


["вверх", "вниз", "вправо", "вниз", ] -> ["вправо", "вниз", ]
["влево", "вверх", "вниз", "вправо", "вниз", ] -> [ "вниз", ]

4 ответов

26 просмотров
Михаил- Автор вопроса

Так то да, пропускать нужно два элемента, а если два элемента пропускать, то цикл нужен не через range?

Михаил- Автор вопроса

Сравните, моё решение и как можно было сделать: def dirReduc(arr): patterns = [["NORTH", "SOUTH"], ["EAST", "WEST"]] optimizations = 1 while optimizations > 0: optimizations = 0 tmp_arr = [] i = 0 while i < len(arr): if sorted(arr[i : i + 2]) in patterns: optimizations += 1 i += 2 continue tmp_arr += arr[i : i + 1] i += 1 arr = tmp_arr return arr opposite = {'NORTH': 'SOUTH', 'EAST': 'WEST', 'SOUTH': 'NORTH', 'WEST': 'EAST'} def dirReduc(plan): new_plan = [] for d in plan: if new_plan and new_plan[-1] == opposite[d]: new_plan.pop() else: new_plan.append(d) return new_plan

Михаил- Автор вопроса

Это

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта