【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;
    }
}
相关推荐
Savior`L6 小时前
二分算法及常见用法
数据结构·c++·算法
mmz12077 小时前
前缀和问题(c++)
c++·算法·图论
努力学算法的蒟蒻8 小时前
day27(12.7)——leetcode面试经典150
算法·leetcode·面试
甄心爱学习8 小时前
CSP认证 备考(python)
数据结构·python·算法·动态规划
kyle~9 小时前
排序---常用排序算法汇总
数据结构·算法·排序算法
AndrewHZ9 小时前
【遥感图像入门】DEM数据处理核心算法与Python实操指南
图像处理·python·算法·dem·高程数据·遥感图像·差值算法
CoderYanger9 小时前
动态规划算法-子序列问题(数组中不连续的一段):28.摆动序列
java·算法·leetcode·动态规划·1024程序员节
有时间要学习10 小时前
面试150——第二周
数据结构·算法·leetcode
freedom_1024_10 小时前
红黑树底层原理拆解
开发语言·数据结构·b树