1. Главная
  2. Библиотека
  3. Программирование
  4. Вам дан двумерный массив размером m×n с положительными...
Решение задачи на тему

Вам дан двумерный массив размером m×n с положительными целыми числами. Пройдите по массиву змееобразным способом в направлении, показанном на картинке, пропуская каждую вторую ячейку. Проходить нужно зигзагом по диагонали. Верните массив с посещёнными

  • Программирование
  • #Основы алгоритмизации и программирования
  • #Структуры и алгоритмы обработки данных
Вам дан двумерный массив размером m×n с положительными целыми числами.
Пройдите по массиву змееобразным способом в направлении, показанном на картинке, пропуская каждую вторую ячейку. Проходить нужно зигзагом по диагонали.
Верните массив с посещёнными

Условие:

Вам дан двумерный массив размером
m
×
n
m×n с положительными целыми числами. Пройдите по массиву змееобразным способом в направлении, показанном на картинке, пропуская каждую вторую ячейку. Верните массив с посещёнными значениями в порядке обхода. Проходить нужно зигзагом по диагонали.

На картинках розовым выделены клетки, которые необходимо взять в итоговый массив.

Output: [1,7,5,3,9]
Output: [2,2,2,1,1]
Формат входных данных:

В первой строке вводятся два целых числа
m
m и
n
n (
1

𝑚
,
𝑛

100
1≤m,n≤100) — количество строк и столбцов матрицы.

Далее следуют
m
m строк, каждая из которых содержит
n
n целых положительных чисел, разделённых пробелами — элементы матрицы.

Формат выходных данных:

Одномерный массив из посещённых значений.

Sample Input:

1 1
1
Sample Output:

[1]

Решение:

Нам дан прямоугольный массив (матрица) размером m×n. Нужно обойти его змееобразно по диагонали, но способ обхода оказывается не тот, который часто встречается (например, «диагональный обход» из LeetCode), а именно обход выглядит так, что мы идём по столбцам, чередуя направление сверху вниз и снизу вверх. При этом обход производится по всем ячейкам, но в итоговый массив мы добавляем только каждую первую, пропуская вторую, то есть выбираем элементы с индексами 0, 2, 4, … в последовательности обхода. Чтобы понять идею, рассмотрим пример для матрицы 3×3: Предположим, матрица выглядит так: 1 2 ...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет