TUZ_6-07. Подсчет количества троек чисел
6.7. Подсчет количества троек чисел
Пусть items – список чисел такой, что элементы этого списка в позициях i < j < k составляют тройку,
если items [i] == items [j] == items [k] и j – i == k – j.
Например, подсчитаем количество троек в списке items = [42, 9, 42, 42, 42, 103].
- В 0-й, 2-й и 4-й позициях находятся числа 42, 42 и 42 соответственно,
при этом 2 – 0 = 4 – 2, т. е. 2 = 2. Числа в этих позициях образуют тройку.
- Другая тройка образуется числами в 2-й, 3-й и 4-й позициях,
потому что 3 – 2 = 4 – 3, т. е. 1 = 1.
Таким образом, в рассматриваемом списке имеются две тройки.
Ваша задача: написать функцию, которая принимает список положительных и отрицательных целых чисел
и возвращает количество троек в нем.
В табл. 6.7 показаны ожидаемые результаты для некоторых входных данных.
Таблица 6.7. Некоторые ожидаемые результаты для задачи подсчета троек |
items |
Ожидаемый результат |
42, 9, 42, 42, 42, 103 |
2 |
-8, -8, 109, -8, -8, -8, -36 |
2 |
21, -41, 21, 76, 21, -71, 21, 17, 17, 17, 17, 17, 47 |
6 |
77, 1, 2, -4, 13, 77, 7, 9, 1 |
0 |