【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;
    }
}
相关推荐
断剑zou天涯1 小时前
【算法笔记】暴力递归尝试
java·笔记·算法
油泼辣子多加1 小时前
【实战】自然语言处理--长文本分类(1)DPCNN算法
算法·自然语言处理·分类
I'm a winner2 小时前
基于YOLO算法的医疗应用专题:第一章 计算机视觉与深度学习概述
算法·yolo·计算机视觉
vir022 小时前
P1928 外星密码(dfs)
java·数据结构·算法·深度优先·1024程序员节
喜欢吃燃面2 小时前
数据结构算法题:list
开发语言·c++·学习·算法·1024程序员节
胡萝卜3.02 小时前
C++ list核心接口与实战技巧
数据结构·c++·list·list使用
寂静山林3 小时前
UVa 12991 Game Rooms
算法·1024程序员节
仟千意3 小时前
数据结构:排序篇
数据结构
Dream it possible!3 小时前
LeetCode 面试经典 150_链表_合并两个有序链表(58_21_C++_简单)
leetcode·链表·面试·1024程序员节
余俊晖4 小时前
RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源)
人工智能·算法·ocr·grpo