Thử thách:
Đưa ra một đầu vào ma trận, xác định số lượng đường chéo và đường chéo với số lượng trùng lặp.
Vì vậy, nếu chúng ta có một ma trận như thế này:
[[aa,ab,ac,ad,ae,af],
[ba,bb,bc,bd,be,bf],
[ca,cb,cc,cd,ce,cf],
[da,db,dc,dd,de,df]]
Tất cả các đường chéo và đường chéo sẽ là:
[[aa],[ab,ba],[ac,bb,ca],[ad,bc,cb,da],[ae,bd,cc,db],[af,be,cd,dc],[bf,ce,dd],[cf,de],[df],
[af],[ae,bf],[ad,be,cf],[ac,bd,ce,df],[ab,bc,cd,de],[aa,bb,cc,dd],[ba,cb,dc],[ca,db],[da]]
Thí dụ:
[[1,2,1,2,1,2],
[1,2,3,4,5,6],
[6,5,4,3,2,1],
[2,1,2,1,2,1]]
Tất cả các đường chéo và đường chéo sẽ là:
[[1],[2,1],[1,2,6],[2,3,5,2],[1,4,4,1],[2,5,3,2],[6,2,1],[1,2],[1],
[2],[1,6],[2,5,1],[1,4,2,1],[2,3,3,2],[1,2,4,1],[1,5,2],[6,1],[2]]
Xóa tất cả các đường chéo và đường chéo chỉ chứa các số duy nhất:
[[2,3,5,2],[1,4,4,1],[2,5,3,2],[1,4,2,1],[2,3,3,2],[1,2,4,1]]
Vì vậy, đầu ra là số lượng đường chéo và đường chéo chứa các số trùng lặp:
6
Quy tắc thử thách:
- Nếu ma trận đầu vào trống, chỉ chứa 1 số hoặc chỉ chứa các số duy nhất trên toàn bộ ma trận, đầu ra luôn luôn
0
. - Đầu vào được đảm bảo chỉ chứa các chữ số dương
[1,9]
(trừ khi nó hoàn toàn trống). - Ma trận sẽ luôn là hình chữ nhật (tức là tất cả các hàng có cùng độ dài).
- I / O là linh hoạt. Đầu vào có thể được lấy dưới dạng danh sách các số nguyên hoặc mảng số nguyên 2D hoặc đối tượng Ma trận, dưới dạng chuỗi, v.v. Bạn cũng được phép lấy một hoặc cả hai kích thước của ma trận làm đầu vào bổ sung nếu nó sẽ lưu byte trong ngôn ngữ của bạn lựa chọn.
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Quy tắc chuẩn áp dụng cho câu trả lời của bạn với quy tắc I / O mặc định , vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp và kiểu trả về, chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn (ví dụ TIO ).
- Ngoài ra, thêm một lời giải thích cho câu trả lời của bạn rất được khuyến khích.
Các trường hợp thử nghiệm:
Input: Output:
[[1,2,1,2,1,2], 6
[1,2,3,4,5,6],
[6,5,4,3,2,1],
[2,1,2,1,2,1]]
[[]] 0
[[1,2], 0
[3,4]]
[[1,1], 2
[1,1]]
[[9,9,9], 6
[9,9,9],
[9,9,9]]
[[7,7,7,7], 8
[7,7,7,7],
[7,7,7,7]]
[[1,1,1], 1
[2,3,4],
[2,5,1]]
[[1,8,4,2,9,4,4,4], 12
[5,1,2,7,7,4,2,3],
[1,4,5,2,4,2,3,8],
[8,5,4,2,3,4,1,5]]
[[1,2,3,4], 4
[5,6,6,7],
[8,6,6,9],
[8,7,6,5]]
row
vàcol
vào danh sách 'các chức năng cực kỳ tình huống' của mình. Giải pháp thực sự thông minh.