Ctrl K

Три самых тяжёлых ромба

Средняя
Дана таблица grid размером m × n из положительных чисел. Ромб — это квадрат, повёрнутый на 45°, все четыре вершины которого стоят в центрах клеток таблицы и целиком внутри неё. Сумма ромба — сумма чисел в клетках его контура (внутренние клетки не считаются). Одиночная клетка — тоже ромб нулевого размера, его сумма равна числу в клетке. Например, ромб с верхней вершиной в (0, 1) проходит через клетки (0, 1), (1, 2), (2, 1), (1, 0). Верните три самые большие **различные** суммы ромбов в порядке убывания. Если различных сумм меньше трёх, верните все.
Пример 1
grid=[[1, 2, 3], [4, 5, 6], [7, 8, 1]] → [20, 8, 7]

Есть один ромб с ненулевым размером — вокруг центра: 2 + 6 + 8 + 4 = 20. Остальные «ромбы» — одиночные клетки, из них самые большие 8 и 7.

Пример 2
grid=[[5, 5], [5, 5]] → [5]

Поместятся только одиночные клетки, и все суммы равны 5 — различная сумма всего одна.

Пример 3
grid=[[2, 9, 1, 4], [6, 3, 7, 2], [1, 8, 5, 3]] → [30, 11, 9]

Ромб с верхушкой 9: 9 + 7 + 8 + 6 = 30. Ромб с верхушкой 1: 1 + 2 + 5 + 3 = 11. Третья сумма — клетка 9.

Ограничения
  • 1 ≤ m, n ≤ 50
  • 1 ≤ grid[i][j] ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиK-й по величине XOR угла СредняяСтудии для записи СредняяK-е по величине в упорядоченной таблице СредняяБлижайшие к базе точки СредняяХватит ли мест в шаттле Средняя
загружаем Python…
Вход
grid=[[1, 2, 3], [4, 5, 6], [7, 8, 1]]
Ожидается
[20, 8, 7]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 115 тестов на сервере, включая скрытые.