Loading Now

hourglassMaxSum

Cho một ma trận số nguyên vuông kích thước m x m. Ở đó mỗi hình “đồng hồ cát” được tạo bởi 7 số nguyên và có hình dạng như sau:

  • 1 2 3
    4
    5 6 7

Và tổng của một “đồng hồ cát” bằng tổng các số nguyên trong đó.

Như ở ví dụ trên tổng đồng hồ cát sẽ là:

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28.

Yêu cầu: tìm ra tổng đồng hồ cát lớn nhất.

Ví dụ:

  • 1 1 1 0 0 0
    0 1 0 0 0 0
    1 1 1 0 0 0
    0 0 2 4 4 0
    0 0 0 2 0 0
    0 0 1 2 4 0

    thì hourGlassMaxSum(a)=19. 

Giải thích: 

  • 2 4 4
    0 2 0
    1 2 2

    có tổng bằng 2 + 4 + 4 + 2 + 1 + 2 + 2 = 19.

Đầu vào/đầu ra:

  • [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
  • [Đầu vào] 2D Array: Integer: a. 
    3 ≤ a.size() ≤ 200.
    3 ≤ a[].size() ≤ 200.
    -107 ≤ a[][] ≤ 107.
  •  [Đầu ra] Integer: 
    Giá trị của tổng đồng hồ cát lớn nhất.

Post Comment

Contact