Pamiętaj, że to wyzwanie nie wymaga obsługi ani zrozumienia liczb zespolonych.
Biorąc pod uwagę niepustą kwadratową macierz, gdzie każdy element jest dwuelementową (Re, Im) listą całkowitą, ustal (podając dowolne wartości prawda / fałsz lub dowolne dwie spójne wartości), czy reprezentuje to matrycę hermitowską.
Zauważ, że wejściem jest tablica liczb całkowitych 3D; nie tablica 2D liczb zespolonych. Jeśli twój język nie może bezpośrednio pobrać tablicy 3D, możesz wziąć płaską listę (i kształt n × n lub n × n × 2, jeśli to pomoże).
Macierz jest pustelnikiem, jeśli równa się jej własnej transpozycji sprzężonej . Innymi słowy, jeśli odwrócisz go od jego górnej lewej do prawej dolnej przekątnej i negujesz drugi element wszystkich dwuelementowych list liści, będzie on identyczny z macierzą wejściową. Pamiętaj, że kolejność przewracania i negowania nie ma znaczenia, więc możesz najpierw negować, a potem odwrócić.
Przykład chodzenia
W tym przykładzie zastosowano JSON z niepotrzebną białą spacją, aby ułatwić czytanie:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Transpozycja (odwrócenie po przekątnej NW – SE):
[[ [2, 0] , [2,-1] , [4, 0] ],
[ [2, 1] , [3, 0] , [0,-1] ],
[ [4, 0] , [0, 1] , [1, 0] ]]
Neguj drugie elementy list liści:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Ponieważ jest to identyczne z wejściem, macierz jest pustelnikiem.
Przypadki testowe
Hermitian
[[[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]]]
Nie-pustelnik
[[[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]]]