「 每日一练,快乐水题 」1812. 判断国际象棋棋盘中一个格子的颜色


🔴力扣原题:

1812. 判断国际象棋棋盘中一个格子的颜色

🟠题目简述:

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

在这里插入图片描述

如果所给格子的颜色是白色,请你返回 true,如果是黑色,请返回 false 。

给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母,第二个字符是数字。

🟡解题思路:

  1. 首先发现规律:x-y轴加起来是偶数的就是黑色,奇数的就是白色;
  2. 映射字母到数字,然后构造x-y轴数字;
  3. over;

🟢C++代码:

class Solution {
public:
    bool squareIsWhite(string coordinates) {
        map<char,int> tmpmap;
        tmpmap['a'] = 1;
        tmpmap['b'] = 2;
        tmpmap['c'] = 3;
        tmpmap['d'] = 4;
        tmpmap['e'] = 5;
        tmpmap['f'] = 6;
        tmpmap['g'] = 7;
        tmpmap['h'] = 8;

        bool bRet = false;
        if((tmpmap[coordinates[0]]+(int (coordinates[1] - '0')))%2 == 1)
        {
            bRet = true;
        }
        
        return bRet;
    }
};

🔵结果展示:

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谁吃薄荷糖

你获得知识,我获得财富,双赢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值