LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

LeetCode每日一题系列

题目:1812. 判断国际象棋棋盘中一个格子的颜色
难度:简单


文章目录

  • LeetCode每日一题系列
  • 题目
  • 示例
  • 思路
  • 题解


题目

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

LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色_第1张图片

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

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

示例

LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色_第2张图片

思路

寻找棋盘的规律,会发现相隔一行或者一列的行和列都是完全相同的,并且我们只需找到黑格的情况其他情况就都是白格了。
这里黑格的位置是在1、列在’aceg’中并且行整除二不得零2、列在‘bdfh’中并且行整除二的零。其他情况就都是黑格的情况了。

题解

class Solution:
    def squareIsWhite(self, coordinates: str) -> bool:
        c, r = coordinates[0], coordinates[1]
        if (c in 'aceg' and int(r) % 2 != 0) or (c in 'bdfh' and int(r) % 2 == 0):
            return False
        else:
            return True 

你可能感兴趣的:(#,算法实例,leetcode,算法,职场和发展,Python,数据结构)