列表

详情


3274. 检查棋盘方格颜色是否相同

给你两个字符串 coordinate1coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。

以下是棋盘的参考图。

如果这两个方格颜色相同,返回 true,否则返回 false

坐标总是表示有效的棋盘方格。坐标的格式总是先字母(表示列),再数字(表示行)。

 

示例 1:

输入: coordinate1 = "a1", coordinate2 = "c3"

输出: true

解释:

两个方格均为黑色。

示例 2:

输入: coordinate1 = "a1", coordinate2 = "h3"

输出: false

解释:

方格 "a1" 是黑色,而 "h3" 是白色。

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: bool checkTwoChessboards(string coordinate1, string coordinate2) { } };

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
}

上一题