comments | difficulty | edit_url | rating | source | tags | ||
---|---|---|---|---|---|---|---|
true |
简单 |
1162 |
第 413 场周赛 Q1 |
|
给你两个字符串 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'
我们计算两个坐标的横纵坐标的差值,如果两个坐标的横纵坐标的差值之和为偶数,那么这两个坐标的方格颜色相同,否则不同。
时间复杂度
class Solution:
def checkTwoChessboards(self, coordinate1: str, coordinate2: str) -> bool:
x = ord(coordinate1[0]) - ord(coordinate2[0])
y = int(coordinate1[1]) - int(coordinate2[1])
return (x + y) % 2 == 0
class Solution {
public boolean checkTwoChessboards(String coordinate1, String coordinate2) {
int x = coordinate1.charAt(0) - coordinate2.charAt(0);
int y = coordinate1.charAt(1) - coordinate2.charAt(1);
return (x + y) % 2 == 0;
}
}
class Solution {
public:
bool checkTwoChessboards(string coordinate1, string coordinate2) {
int x = coordinate1[0] - coordinate2[0];
int y = coordinate1[1] - coordinate2[1];
return (x + y) % 2 == 0;
}
};
func checkTwoChessboards(coordinate1 string, coordinate2 string) bool {
x := coordinate1[0] - coordinate2[0]
y := coordinate1[1] - coordinate2[1]
return (x+y)%2 == 0
}
function checkTwoChessboards(coordinate1: string, coordinate2: string): boolean {
const x = coordinate1.charCodeAt(0) - coordinate2.charCodeAt(0);
const y = coordinate1.charCodeAt(1) - coordinate2.charCodeAt(1);
return (x + y) % 2 === 0;
}