【Leetcode 每日一题】3274. 检查棋盘方格颜色是否相同

问题背景

给你两个字符串 c o o r d i n a t e 1 coordinate1 coordinate1 和 c o o r d i n a t e 2 coordinate2 coordinate2,代表 8 × 8 8 \times 8 8×8 国际象棋棋盘上的两个方格的坐标。

以下是棋盘的参考图。

如果这两个方格颜色相同,返回 t r u e true true,否则返回 f a l s e false false。

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

数据约束

  • c o o r d i n a t e 1. l e n g t h = c o o r d i n a t e 2. l e n g t h = 2 coordinate1.length = coordinate2.length = 2 coordinate1.length=coordinate2.length=2
  • 'a' ≤ c o o r d i n a t e 1 [ 0 ] , c o o r d i n a t e 2 [ 0 ] ≤ \le coordinate1[0], coordinate2[0] \le ≤coordinate1[0],coordinate2[0]≤'h'
  • '1' ≤ c o o r d i n a t e 1 [ 1 ] , c o o r d i n a t e 2 [ 1 ] ≤ \le coordinate1[1], coordinate2[1] \le ≤coordinate1[1],coordinate2[1]≤'8'

解题过程

观察发现,颜色不同的格子总是相邻的。

如果行号和列号都转化为 [ 0 , 7 ] [0, 7] [0,7]范围内的整数,相邻的格子行号与列号之和奇偶性一定是不同的。

具体实现

java 复制代码
class Solution {
    public boolean checkTwoChessboards(String coordinate1, String coordinate2) {
        return ((coordinate1.charAt(0) - 'a') + (coordinate1.charAt(1) - '0')) % 2 == 
               ((coordinate2.charAt(0) - 'a') + (coordinate2.charAt(1) - '0')) % 2;
    }
}
相关推荐
君义_noip9 小时前
信息学奥赛一本通 4150:【GESP2509七级】⾦币收集 | 洛谷 P14078 [GESP202509 七级] 金币收集
c++·算法·gesp·信息学奥赛·csp-s
摸个小yu9 小时前
【力扣LeetCode热题h100】链表、二叉树
算法·leetcode·链表
汀、人工智能9 小时前
[特殊字符] 第93课:太平洋大西洋水流问题
数据结构·算法·数据库架构·图论·bfs·太平洋大西洋水流问题
ZPC82109 小时前
rviz2 仿真控制器与真实机器人切换
人工智能·算法·机器人
澈2079 小时前
双指针,数组去重
c++·算法
小辉同志10 小时前
207. 课程表
c++·算法·力扣·图论
CheerWWW10 小时前
深入理解计算机系统——位运算、树状数组
笔记·学习·算法·计算机系统
feng_you_ying_li10 小时前
C++11,{}的初始化情况与左右值及其引用
开发语言·数据结构·c++
锅挤10 小时前
数据结构复习(第一章):绪论
数据结构·算法
skywalker_1110 小时前
力扣hot100-5(盛最多水的容器),6(三数之和)
算法·leetcode·职场和发展