• Предмет: Информатика
  • Автор: TARANTULASHEAD
  • Вопрос задан 5 месяцев назад

Решить задачу в Python
В массиве из 20 элементов числа образуют неубывающую последователь-
ность. Несколько элементов, идущих подряд, равны между собой. Найти
количество таких элементов. Сколько различных чисел имеется в массиве?

Ответы

Ответ дал: evgeniabelik98
0

Ответ:

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.

Вторая функция принимает массив в качестве входных данных и возвращает длину набора массива, которая представляет собой количество уникальных элементов в массиве.

Вас заинтересует