Я практиковал свои навыки написания алгоритмов на кодезгнере, и одна из проблем заключается в том, как подвести итог матрицы, в которой есть определенные условия, расположенные на столбцах и рядах.
Что отличается в CodeSignal, так это то, что вы можете просматривать и подниматься или вниз по вопросам решения других людей после того, как вы отправили свое решение. Даже в небольших проблемах алгоритма вы можете увидеть, как другие используют умные уловки и библиотеки на используемом языке программирования.
Например, я использовал Питон перечислять
функция Чтобы пройти ряды и столбцы матрицы:
for i, row in enumerate(matrix): for j, col in enumerate(row): print('matrix[{}][{}] = {}'.format(i, j, col))
Я заметил, что другие решения этой проблемы использовали этот шаблон:
for i in range(len(matrix)): for j in range(len(matrix[i])): print('matrix[{}][{}] = {}'.format(i, j, matrix[i][j]))
Это то, что имеет смысл в таких языках, как C, C ++ или JavaScript или даже в Java. Однако, если есть итераторы, которые дают вам как индекс, так и значение, вы должны использовать их и сопоставить идиомы языка.
С другой стороны, я нашел решение, которое было умным и использовал комбинацию Python’s Iertools Взятие
функция и встроенный сумма
и карта
функции.
Есть много, что все разработчики могут узнать, даже в самых маленьких проблемах.
Оригинал: “https://dev.to/rudolfolah/python-no-more-need-for-range-len-4n1i”