Решить задачу в Python
В массиве из 20 элементов числа образуют неубывающую последователь-
ность. Несколько элементов, идущих подряд, равны между собой. Найти
количество таких элементов. Сколько различных чисел имеется в массиве?
Ответы
Ответ:
def count_same_consecutive_elements(arr):
count = 1
same_count = 0
for i in range(1, len(arr)):
if arr[i] == arr[i-1]:
count += 1
else:
if count > 1:
same_count += count
count = 1
if count > 1:
same_count += count
return same_count
def count_unique_elements(arr):
return len(set(arr))
arr = [1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 7, 8, 8, 8, 9, 9]
print(count_same_consecutive_elements(arr))
print(count_unique_elements(arr))
Объяснение:
Этот код сначала подсчитает количество одинаковых последовательных элементов в данном массиве, перебирая массив и проверяя, совпадает ли текущий элемент с предыдущим элементом. Если это так, он увеличивает счетчик, если нет, он проверяет, больше ли счетчик 1, и если это так, он увеличивает переменную same_count. Наконец, в качестве результата будет возвращена переменная same_count.
Вторая функция принимает массив в качестве входных данных и возвращает длину набора массива, которая представляет собой количество уникальных элементов в массиве.