ETH官方钱包

前往
大廳
主題

LeetCode - 1886. Determine Whether Matrix Can Be Obtained By Rotation 解題心得

Not In My Back Yard | 2021-09-20 00:00:03 | 巴幣 0 | 人氣 252

題目連結:


題目意譯:
給定兩個 n × n 二元矩陣 mat 和 target ,回傳真(True)如果可以藉由逐漸地旋轉 mat 90 度來使 mat 等於 target ;反之,回傳假(False)。

限制:
n == mat.length == target.length
n == mat[i].length == target[i].length
1 ≦ n ≦ 10
mat[i][j] 和 target[i][j] 只會是 0 或是 1 。



範例測資:
範例 1:
輸入: mat = [[0,1],[1,0]], target = [[1,0],[0,1]]
輸出: true
解釋: 我們可以旋轉 90 度使 mat 等於 target 。

範例 2:
輸入: mat = [[0,1],[1,1]], target = [[1,0],[0,1]]
輸出: false
解釋: 不可能藉由旋轉 mat 來使 mat 等於 target 。

範例 3:
輸入: mat = [[0,0,0],[0,1,0],[1,1,1]], target = [[1,1,1],[0,1,0],[0,0,0]]
輸出: true
解釋: 我們可以旋轉 90 度兩次使 mat 等於 target 。


解題思維:
利用這題的想法,將四種可能的旋轉位置(不動、旋轉 90 度、旋轉 180 度和旋轉 270 度)之陣列 mat 去和 target 比較。如果有任何一者相等,則回傳真。如果四個都不行則代表不可能使 mat 等於 target ,因此回傳假。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作