class Solution {
public:
bool checkTwoChessboards(string coordinate1, string coordinate2) {
}
};
3274. 检查棋盘方格颜色是否相同
给你两个字符串 coordinate1
和 coordinate2
,代表 8 x 8
国际象棋棋盘上的两个方格的坐标。
以下是棋盘的参考图。
如果这两个方格颜色相同,返回 true
,否则返回 false
。
坐标总是表示有效的棋盘方格。坐标的格式总是先字母(表示列),再数字(表示行)。
示例 1:
输入: coordinate1 = "a1", coordinate2 = "c3"
输出: true
解释:
两个方格均为黑色。
示例 2:
输入: coordinate1 = "a1", coordinate2 = "h3"
输出: false
解释:
方格 "a1"
是黑色,而 "h3"
是白色。
提示:
coordinate1.length == coordinate2.length == 2
'a' <= coordinate1[0], coordinate2[0] <= 'h'
'1' <= coordinate1[1], coordinate2[1] <= '8'
原站题解
cpp 解法, 执行用时: 4 ms, 内存消耗: 7.8 MB, 提交时间: 2024-09-09 09:11:43
class Solution { public: bool checkTwoChessboards(string s, string t) { return ((s[0] ^ s[1]) & 1) == ((t[0] ^ t[1]) & 1); } };
java 解法, 执行用时: 0 ms, 内存消耗: 41.2 MB, 提交时间: 2024-09-09 09:11:32
class Solution { public boolean checkTwoChessboards(String s, String t) { int a = (s.charAt(0) + s.charAt(1)) % 2; int b = (t.charAt(0) + t.charAt(1)) % 2; return a == b; } }
python3 解法, 执行用时: 30 ms, 内存消耗: 16.5 MB, 提交时间: 2024-09-09 09:11:19
class Solution: def checkTwoChessboards(self, s: str, t: str) -> bool: return (ord(s[0]) + ord(s[1])) % 2 == (ord(t[0]) + ord(t[1])) % 2
golang 解法, 执行用时: 0 ms, 内存消耗: 2.2 MB, 提交时间: 2024-09-09 09:11:04
func checkTwoChessboards(s, t string) bool { return (s[0]^s[1])&1 == (t[0]^t[1])&1 }