177 / 205
Abramyan · MatrixQiyin15 ball· ~12 daqiqa

Spiralga chiqarish

M × N o'lchamli matrix matritsasi berilgan. Elementlarni yuqori chap burchakdan boshlab soat mili yo'nalishida spiral bo'ylab o'qib, vergulsiz (faqat vergul bilan) ajratilgan satr sifatida qaytaring (masalan "1,2,3,6,9,8,7,4,5").

example.go
func spiralOrder(M int, N int, matrix [][]int) string {
    // ...
}

Misollar

kod
Input: M=3, N=3, matrix=[[1,2,3],[4,5,6],[7,8,9]]
Output: "1,2,3,6,9,8,7,4,5"
kod
Input: M=2, N=4, matrix=[[1,2,3,4],[5,6,7,8]]
Output: "1,2,3,4,8,7,6,5"
kod
Input: M=4, N=2, matrix=[[1,2],[3,4],[5,6],[7,8]]
Output: "1,2,4,6,8,7,5,3"

Maslahatlar

  1. To'rtta chegarani saqlang: top, bottom, left, right.
  2. Ketma-ket: yuqori qator → o'ng ustun → pastki qator (teskari) → chap ustun (teskari); har safar chegarani siqing.