К задачам

Шахматная матрица с порядковыми числами

СредняяML-задачи
Лучше работает на десктопе
NumPyВекторизацияМатрицаBroadcasting
Кадр с условием задачи 1
Кадр записи

Напишите функцию, которая принимает размер n и создает квадратную матрицу n x n.

Нужно заполнить клетки шахматного цвета, начиная с левого верхнего угла, последовательными числами 1, 2, 3, ..., а остальные клетки оставить нулями.

Для n = 6 результат должен быть:

[
  [1, 0, 2, 0, 3, 0],
  [0, 4, 0, 5, 0, 6],
  [7, 0, 8, 0, 9, 0],
  [0, 10, 0, 11, 0, 12],
  [13, 0, 14, 0, 15, 0],
  [0, 16, 0, 17, 0, 18],
]

Если n <= 0, верните пустой список.

На собеседовании отдельно просили избегать вложенного Python-цикла и использовать NumPy/broadcasting. Даже векторизованное решение остается O(n^2) по памяти, поэтому очень большие n ограничены RAM и форматом возвращаемого list[list[int]].

Сигнатура

def make_chessboard(n: int) -> list[list[int]]:

Примеры

Пример 1

Вход:
n = 0
Выход:[]

Пустая матрица

Пример 2

Вход:
n = 1
Выход:[[1]]

Один элемент

Пример 3

Вход:
n = 2
Выход:[[1,0],[0,2]]

Минимальная шахматка

Код
Python · Ctrl/⌘ + Enter для запуска
Лимит
05:00
Консоль
Нажмите кнопку запуска или Ctrl+Enter
Шахматная матрица с порядковыми числами — ML-задачи задача — ML Mentor