Рубрики

Количество нет. столбцов, которые не отсортированы в порядке возрастания

Дан массив A из N строчных букв одинаковой длины. Задача состоит в том, чтобы найти количество столбцов, которые не отсортированы в порядке возрастания.

Примеры:

Input: A = ["cba", "dah", "ghi"]
Output: 1
2nd Column ["b", "a", "h"] is not sorted in increasing order.

Input: A = ["zyx", "wvu", "tsr"]
Output: 3
All columns are not sorted in increasing order.

Подход: переберите каждый столбец один за другим и проверьте, больше ли следующий элемент, чем предыдущий элемент в том же столбце. Если нет, увеличьте значение countOfCol на 1 и продолжайте движение до тех пор, пока не пройдут все столбцы. Выведите значение countOfCol .

# функция для подсчета несортированных столбцов

def countUnsorted(A):

  

    countOfCol = 0

  

    for col in zip(*A):

        if any(col[i] > col[i + 1] for i in range(len(col) - 1)):

            countOfCol += 1

  

    return countOfCol

  
# Код драйвера

A = ["cba", "daf", "ghi"]

print(countUnsorted(A))

Выход:

1

Рекомендуемые посты:

Количество нет. столбцов, которые не отсортированы в порядке возрастания

0.00 (0%) 0 votes