Lưu ý rằng thách thức này không đòi hỏi phải xử lý hoặc hiểu các số phức.
Đưa ra một ma trận vuông không trống trong đó mọi phần tử là danh sách số nguyên hai phần tử (Re, Im), xác định (đưa ra bất kỳ giá trị trung thực / giả hoặc bất kỳ hai giá trị nhất quán nào) cho dù điều này đại diện cho ma trận Hermiti.
Lưu ý rằng đầu vào là một mảng số nguyên 3D; không phải là một mảng 2D của các số phức. Nếu ngôn ngữ của bạn không thể lấy một mảng 3D trực tiếp, bạn có thể lấy một danh sách phẳng (và hình dạng n × n hoặc n × n × 2 nếu điều đó có ích).
Một ma trận là Hermiti nếu nó bằng chuyển vị liên hợp của chính nó . Nói cách khác, nếu bạn lật nó qua đường chéo trên cùng bên trái sang dưới cùng bên phải và phủ định phần tử thứ hai của tất cả các danh sách lá hai phần tử, nó giống hệt với ma trận đầu vào. Lưu ý rằng thứ tự lật và phủ định là không liên quan, vì vậy bạn có thể phủ định trước và lật sau.
Ví dụ đi bộ
Ví dụ này sử dụng JSON với khoảng trắng thừa để dễ đọc:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Transpose (lật ngang đường chéo NA NA SE):
[[ [2, 0] , [2,-1] , [4, 0] ],
[ [2, 1] , [3, 0] , [0,-1] ],
[ [4, 0] , [0, 1] , [1, 0] ]]
Phủ định các yếu tố thứ hai của danh sách lá:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Vì đây là giống hệt với đầu vào, ma trận là Hermiti.
Các trường hợp thử nghiệm
Hermiti
[[[2,0],[2,1],[4,0]],[[2,-1],[3,0],[0,1]],[[4,0],[0,-1],[1,0]]]
[[[1,0],[2,0]],[[2,0],[1,0]]]
[[[1,0],[2,-3]],[[2,3],[1,0]]]
[[[42,0]]]
Không phải Hermiti
[[[2,0],[2,1],[4,0]],[[2,-1],[3,0],[0,1]],[[4,0],[0,-1],[1,-1]]]
[[[0,1],[0,2]],[[0,2],[0,1]]]
[[[1,0],[2,3]],[[2,3],[1,0]]]
[[[3,2]]]