给你一个坐标 coordinates ,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。

如果所给格子的颜色是白色,请你返回 true,如果是黑色,请返回 false 。
给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母,第二个字符是数字。
示例 1:
输入:coordinates = "a1"
输出:false
解释:如上图棋盘所示,"a1" 坐标的格子是黑色的,所以返回 false 。
示例 2:
输入:coordinates = "h3"
输出:true
解释:如上图棋盘所示,"h3" 坐标的格子是白色的,所以返回 true 。
示例 3:
输入:coordinates = "c7"
输出:false
提示:
coordinates.length == 2'a' <= coordinates[0] <= 'h''1' <= coordinates[1] <= '8'
package Solution5705;
class Solution {
public boolean squareIsWhite(String coordinates) {
String[] index = coordinates.split("");
int x = index[0].charAt(0) - 'a';
int y = Integer.parseInt(index[1]) - 1;
if ((x + y) % 2 == 0) {
return false;
}
return true;
}
public static void main(String[] args) {
Solution sol = new Solution();
String coordinates = "c7";
System.out.println(sol.squareIsWhite(coordinates));
}
}
package Solution5705;
class Solution {
public boolean squareIsWhite(String coordinates) {
boolean[][] board = new boolean[8][8];
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
if ((i + j) % 2 == 0) {
board[i][j] = false;
} else {
board[i][j] = true;
}
}
}
// for (int i = 0; i < 8; i++) {
// System.out.println(Arrays.toString(board[i]));
// }
String[] index = coordinates.split("");
int x = index[0].charAt(0) - 'a';
int y = Integer.parseInt(index[1]) - 1;
// System.out.println(x);
// System.out.println(y);
return board[x][y];
}
public static void main(String[] args) {
Solution sol = new Solution();
String coordinates = "c7";
System.out.println(sol.squareIsWhite(coordinates));
}
}
该博客主要介绍了如何根据给定的国际象棋棋盘坐标判断格子颜色。通过解析坐标并利用棋盘黑白相间的规律,可以确定格子是白色还是黑色。示例代码展示了两种不同的实现方式,分别通过简单的数学公式和创建棋盘矩阵来检查颜色。
1526

被折叠的 条评论
为什么被折叠?



