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

MediumPython
05:00
Лучше работает на десктопе
NumPyVectorizationMatrixBroadcastingreal-interview
Реальный собес00:25:06-00:34:382026-05-08 14-02-49Страница собеса
Кадр с условием задачи 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, например n = 10_000, поэтому ожидается векторизация через NumPy, а не двойной Python-цикл.

Сигнатура

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

Примеры

Пример 1

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

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

Пример 2

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

Один элемент

Пример 3

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

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

Консоль
Нажмите Run или Ctrl+Enter для запуска