Как суммировать итеративные максимумы, найденные в списке, без столкновения с другими предыдущими максимумами, расположенными менее чем в двух индексах?

#python #logic

Вопрос:

Например, если список:

 a_list = [1,3,8,2,3,6]
 

Алгоритм будет выглядеть примерно так:

  • Собирайте только самые высокие числа
  • Итак, начните с 8
  • Второе по величине 6 (условие проверки, это правда, на два пробела впереди 8)
  • Третье по величине 3 (условие проверки, ложно, оно находится рядом с 8)
  • Третье место снова 3 (условие проверки, рядом с 6, ложно)
  • Третье место снова 2 (рядом с 8, ложь)
  • Третье место снова 1 (условие выполнено, верно, добавить)

Затем этот список будет суммирован в конце.

 8   6   1 = 15
 

Я бы хотел оптимизировать это, чтобы сделать это как можно быстрее. Возможно, это не самый быстрый вариант для этого?

Любая помощь приветствуется. Спасибо

Комментарии:

1. Пожалуйста, поделитесь своими попытками.