ETH官方钱包

前往
大廳
主題

LeetCode - 1812. Determine Color of a Chessboard Square 解題心得

Not In My Back Yard | 2023-02-04 12:00:01 | 巴幣 0 | 人氣 179

題目連結:


題目意譯:
你被給定 coordinates,其為代表著棋盤上某一個方格之座標的一個字串。下圖為一個棋盤可作為參考。

如果該方格是白色的,回傳真(True);反之如果方格是黑色的則回傳假(False)。

座標保證會代表著一個合法的棋盤之方格。座標永遠會以字母開頭、數字在後。

限制:
coordinates.length == 2
'a' ≦ coordinates[0] ≦ 'h'
'1' ≦ coordinates[1] ≦ '8'



範例測資:
範例 1:
輸入: coordinates = "a1"
輸出: false
解釋: 從上圖的棋盤可以看到,座標為 "a1" 的方格是黑色的,所以回傳假。

範例 2:
輸入: coordinates = "h3"
輸出: true
解釋: 從上圖的棋盤可以看到,座標為 "h3" 的方格是排色的,所以回傳假。

範例 3:
輸入: coordinates = "c7"
輸出: false


解題思維:
假設 coordinates 第一個字元與 'a' 這個字元的距離為 X(例如 'e' 、 'c' 與 'a' 的距離分別是 4 和 2),而 coordinates 第二個字元與 '1' 的差值為 Y。

則觀察棋盤可以得到以下結論:
X + Y 為偶數,則 coordinates 代表的格子是黑色的;
反之 X + Y 為奇數,則 coordinates 代表的格子是白色的。




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

作者相關創作

更多創作