Every day a Leetcode
题目来源:3274. 检查棋盘方格颜色是否相同
解法1:找规律
根据题目中的图片,如果 coordinate[0] 和 coordinate[1] 的 ASCII 值的奇偶性相同,那么格子是黑格,否则是白格。
进一步地,由于奇数+奇数=偶数,偶数+偶数=偶数,所以如果 (coordinate[0]+coordinate[1]) mod 2 是偶数,那么格子是黑格;否则奇数+偶数=奇数,格子是白格。
如果 (coordinate1[0]+coordinate1[1]) mod 2=(coordinate2[0]+coordinate2[1]) mod 2,那么两个格子颜色相同,否则不同。
代码:
/*
* @lc app=leetcode.cn id=3274 lang=cpp
*
* [3274] 检查棋盘方格颜色是否相同
*/
// @lc code=start
class Solution
{
public:
bool checkTwoChessboards(string coordinate1, string coordinate2)
{
return (coordinate1[0] + coordinate1[1]) % 2 == (coordinate2[0] + coordinate2[1]) % 2;
}
};
// @lc code=end
结果:

复杂度分析:
时间复杂度:O(1)。
空间复杂度:O(1)。

65

被折叠的 条评论
为什么被折叠?



