Lý lịch
Các đồng bằng của một mảng các số nguyên là mảng được hình thành bằng cách nhận được sự khác biệt của các phần tử liên tiếp. Ví dụ: [1, 2, 4, 7, 3, 9, 6]
có các đồng bằng sau : [1, 2, 3, -4, 6, -3]
.
Bây giờ chúng ta sẽ định nghĩa các deltas của một ma trận các số nguyên là các deltas của mỗi hàng và mỗi cột chứa nó.
Ví dụ:
Row deltas:
1 2 3 4 │ => [1, 1, 1]
4 5 6 7 │ => [1, 1, 1]
7 1 8 2 │ => [-6, 7, -6]
Column deltas (the matrix' columns have been rotated into rows for simplicity):
1 4 7 │ => [3, 3]
2 5 1 │ => [3, -4]
3 6 8 │ => [3, 2]
4 7 2 │ => [3, -5]
Cung cấp cho chúng tôi danh sách các ma trận sau:
[[1, 1, 1], [1, 1, 1], [-6, 7, -6], [3, 3], [3, -4], [3, 2], [3, -5]]
Và vì chúng tôi không muốn chúng được lồng vào nhau, chúng tôi sẽ san phẳng danh sách đó:
[1, 1, 1, 1, 1, 1, -6, 7, -6, 3, 3, 3, -4, 3, 2, 3, -5]
Bài tập
Nhiệm vụ của bạn là tổng hợp tất cả các vùng đồng bằng của một ma trận được đưa ra làm đầu vào. Lưu ý rằng ma trận sẽ chỉ bao gồm các số nguyên không âm.
Quy tắc
Tất cả các quy tắc tiêu chuẩn được áp dụng.
Bạn có thể giả sử ma trận chứa ít nhất hai giá trị trên mỗi hàng và cột, vì vậy kích thước tối thiểu sẽ là 2x2 .
Bạn có thể lấy ma trận ở bất kỳ định dạng hợp lý nào, miễn là bạn chỉ định nó.
Bạn có thể không cho rằng ma trận là hình vuông.
Nếu nó có thể giúp bạn giảm số byte của bạn, bạn có thể tùy ý lấy số lượng hàng và số lượng cột làm đầu vào (Nhìn vào bạn C!).
Đây là mã golf, vì vậy mã ngắn nhất (tính bằng byte), trong mỗi ngôn ngữ sẽ thắng!
Các trường hợp thử nghiệm
Đầu vào => Đầu ra [[1, 2], [1, 2]] => 2 [[8, 7, 1], [4, 1, 3], [5, 5, 5]] => -9 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] => 24 [[9, 9, 9, 9, 9], [9, 9, 9, 9, 9]] => 0 [[1, 3, 14], [56, 89, 20], [99, 99, 99]] => 256 [[1, 2, 3, 4], [4, 5, 6, 7], [7, 1, 8, 2]] => 9 [[13, 19, 478], [0, 12, 4], [45, 3, 6], [1, 2, 3]] => -72
ṁ
.