【力扣1812】判断国际象棋棋盘中一个格子的颜色

  • 👑专栏内容:力扣刷题
  • ⛪个人主页:子夜的星的主页
  • 💕座右铭:前路未远,步履不停

目录


一、题目描述

题目链接:判断国际象棋棋盘中一个格子的颜色

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

如果所给格子的颜色是白色,请你返回 true,如果是黑色,请返回 false 。给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母,第二个字符是数字。

二、题目分析

这道题下面的a,b,c啥的很讨厌,因为不是数字。

但我们可以通过字符的 ASCII 码值进行转换,例如'a' - 'a'的结果就是0;

题目给的是两个字符,我们可以用String类里面的charAt 方法获取字符。

charAt 方法是 Java 中 String 类的一个方法,用于获取字符串中指定位置的字符。该方法的语法如下:

java 复制代码
char charAt(int index)

这个方法接受一个整数参数 index,表示要获取的字符的位置。字符串中的索引从 0 开始,即第一个字符的索引是 0,第二个字符的索引是 1,以此类推。如果 index 超出字符串的有效范围,会抛出 StringIndexOutOfBoundsException 异常。

知道了这个后,我们就可以把象棋棋盘上的格子转化为坐标。

例如'a1'我们就可以用如下代码:

java 复制代码
int a = coordinates.charAt(0) - 'a';
int b = coordinates.charAt(1) - '1';

这样'a1'就被我们转化为了00

我们观察一下象棋盘,会发现,当转化为坐标后,x坐标 + y坐标的和为偶数就为黑色,为奇数就为白色。所以这道题就非常简单了。

java 复制代码
class Solution {
    public boolean squareIsWhite(String coordinates) {
        int a = coordinates.charAt(0);
        int b = coordinates.charAt(1);
        if((a+b) % 2 == 0){
            return false;
        }else{
            return true;
        }
    }
}
相关推荐
永远都不秃头的程序员(互关)4 分钟前
【决策树深度探索(一)】从零搭建:机器学习的“智慧之树”——决策树分类算法!
算法·决策树·机器学习
程序员-King.12 分钟前
day161—动态规划—最长递增子序列(LeetCode-300)
算法·leetcode·深度优先·动态规划·递归
西柚小萌新22 分钟前
【计算机视觉CV:目标检测】--3.算法原理(SPPNet、Fast R-CNN、Faster R-CNN)
算法·目标检测·计算机视觉
高频交易dragon23 分钟前
Hawkes LOB Market从论文到生产
人工智能·算法·金融
_OP_CHEN32 分钟前
【算法基础篇】(五十)扩展中国剩余定理(EXCRT)深度精讲:突破模数互质限制
c++·算法·蓝桥杯·数论·同余方程·扩展欧几里得算法·acm/icpc
福楠33 分钟前
C++ STL | set、multiset
c语言·开发语言·数据结构·c++·算法
enfpZZ小狗34 分钟前
基于C++的反射机制探索
开发语言·c++·算法
炽烈小老头38 分钟前
【每天学习一点算法 2026/01/22】杨辉三角
学习·算法
MicroTech202539 分钟前
微算法科技(NASDAQ :MLGO)量子安全区块链:PQ-DPoL与Falcon签名的双重防御体系
科技·算法·安全
努力也学不会java40 分钟前
【Spring Cloud】 服务注册/服务发现
人工智能·后端·算法·spring·spring cloud·容器·服务发现