Advertisement
Olegos

Contrast sequence

Oct 22nd, 2022
1,089
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.85 KB | None | 0 0
  1. #Для теста  используем 2 16 5 12 14 15 12 5 16 2
  2. len_sequence = int(input())
  3. sequence = [int(i) for i in input().split()]
  4.  
  5. #находим разность между соседними
  6. #На выходе 14, -11, 7, 2, 1, -3, -7, 11, -14
  7. def convert_to_cs(seq):
  8.     return [seq[i+1]-seq[i] for i in range(len(seq)-1)]
  9.  
  10. #Тут удаляем пары с повторяющимися знаками из последовательности
  11. def take_is_cs(p):
  12.     for i in range(len(p)-1):
  13.         if p[i] > 0 and p[i+1] < 0 or p[i] < 0 and p[i+1] > 0:
  14.             pass
  15.         else:
  16.             sequence.pop(i+1)
  17.     print(sequence)
  18.     return sequence
  19.  
  20. #а тут какая-то магия ибо это все работает
  21. # И с помощью магии на выходе получаем 2, 16, 5, 14, 12, 5, 2
  22. print(len(take_is_cs(convert_to_cs(sequence))))
  23.            
  24.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement