183 / 205
Abramyan · MatrixQiyin15 ball· ~13 daqiqa

Eng katta pastki kvadrat matritsa

M × N o'lchamli matrix matritsasi va butun son K berilgan. Elementlari yig'indisi eng katta bo'lgan K × K o'lchamli qism matritsani toping va uning yig'indisini hamda yuqori chap burchagini "max=<yig'indi>, pos=(<qator>,<ustun>)" ko'rinishidagi satr sifatida qaytaring. Yig'indilar teng bo'lsa, birinchi topilganini (qatorlar bo'ylab) oling.

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

Misollar

kod
Input: M=4, N=5, K=2, matrix=[[1,2,3,4,5],[2,3,4,5,6],[3,4,5,6,7],[4,5,6,7,8]]
Output: "max=28, pos=(2,3)"
kod
Input: M=3, N=3, K=2, matrix=[[1,2,3],[4,5,6],[7,8,9]]
Output: "max=28, pos=(1,1)"
kod
Input: M=2, N=2, K=2, matrix=[[5,1],[1,9]]
Output: "max=16, pos=(0,0)"

Maslahatlar

  1. Yuqori chap burchak (i, j) uchun i + K <= M va j + K <= N bo'lishi kerak.
  2. Har bir pozitsiyada K × K blokning yig'indisini hisoblang va eng kattasini eslab qoling.