LeetCode: 3274. 检查棋盘方格颜色是否相同
一、题目
给你两个字符串 coordinate1 和 coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。
以下是棋盘的参考图。
如果这两个方格颜色相同,返回 true,否则返回 false。
坐标总是表示有效的棋盘方格。坐标的格式总是先字母(表示列),再数字(表示行)。
二、示例
示例 1:
输入: coordinate1 = "a1", coordinate2 = "c3"
输出: true
解释:
两个方格均为黑色。
示例 2:
输入: coordinate1 = "a1", coordinate2 = "h3"
输出: false
解释:
方格 "a1" 是黑色,而 "h3" 是白色。
提示:
- coordinate1.length == coordinate2.length == 2
- ‘a’ <= coordinate1[0], coordinate2[0] <= ‘h’
- ‘1’ <= coordinate1[1], coordinate2[1] <= ‘8’
三、思路
把 coordinate1 和 coordinate2 简记为 s 和 t。
根据题目中的图片,如果 s[0] 和 s[1] 的 ASCII 值的奇偶性相同,那么格子是黑格,否则是白格。
进一步地,由于 奇数 + 奇数 = 偶数,偶数 + 偶数 = 偶数,所以如果 (s[0] + s[1]) mod 2 是偶数,那么格子是黑格;否则 奇数 + 偶数 = 奇数,格子是白格。
如果 (s[0] + s[1]) mod 2 = (t[0] + t[1]) mod 2,那么两个格子颜色相同,否则不同。
四、解法
package com.example.demo.test;public class CheckTwoChessboards {public boolean checkTwoChessboards(String coordinate1, String coordinate2) {// 查找差值int dif1 = coordinate2.charAt(0) - coordinate1.charAt(0);int dif2 = coordinate2.charAt(1) - coordinate1.charAt(1);return (dif1 & 1) == (dif2 & 1);}public static boolean checkTwoChessboards1(String coordinate1, String coordinate2) {// 查找差值int dif1 = Math.abs(coordinate2.charAt(0) - coordinate1.charAt(0));int dif2 = Math.abs(coordinate2.charAt(1) - coordinate1.charAt(1));// 奇偶性相同return (dif1 % 2) == (dif2 % 2);}public static boolean checkTwoChessboards2(String coordinate1, String coordinate2) {int dif1 = coordinate1.charAt(0) + coordinate1.charAt(1);int dif2 = coordinate2.charAt(0) + coordinate2.charAt(1);// 奇偶性相同return (dif1 % 2) == (dif2 % 2);}public static void main(String[] args) {String a = "h7";String b = "c8";System.out.println(checkTwoChessboards1(a, b));}
}
相关文章:
LeetCode: 3274. 检查棋盘方格颜色是否相同
一、题目 给你两个字符串 coordinate1 和 coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。 以下是棋盘的参考图。 如果这两个方格颜色相同,返回 true,否则返回 false。 坐标总是表示有效的棋盘方格。坐标的格式总是先…...
datax编译并测试
mvn -U clean package assembly:assembly -Dmaven.test.skiptrue 参看:DataX导数的坑_datax插件初始化错误, 该问题通常是由于datax安装错误引起,请联系您的运维解决-CSDN博客 两边表结构先创建好: (base) [rootlnpg bin]# pwd /db/DataX-datax_v20230…...
2-133 基于matlab的粒子群算法PSO优化BP神经网络
基于matlab的粒子群算法PSO优化BP神经网络,BP神经网络算法采用梯度下降算法,以输出误差平方最小为目标,采用误差反向传播,训练网络节点权值和偏置值,得到训练模型。BP神经网络的结构(层数、每层节点个数)较复杂时&…...
复盘秋招22场面试(四)形势重新评估与后续措施
连续好多天睡不着觉,经常晚上起来好几次,到现在还是没offer。之前有个校友在抖音留言说我能收到这么多面试说明简历没问题,这么多一面挂,说明我技术面有问题。确实有一些是kpi面,但是我复盘之后我发现也没有那么多kpi面…...
揭开C++ STL的神秘面纱之string:提升编程效率的秘密武器
目录 🚀0.前言 🚈1.string 构造函数 🚝1.1string构造函数 🚝1.2string拷贝构造函数 🚈2.string类的使用 🚝2.1.查询元素个数或空间 返回字符串中有效字符的个数:size lenth 返回字符串目…...
用人工智能,应该怎么掏钱?
人工智能(AI)服务的发展正快速改变企业和开发者的工作方式,不仅提供了强大的数据分析和预测能力,还涵盖了从自然语言处理到图像识别的广泛功能。然而,理解AI服务的支付模式对成本控制和合理资源分配至关重要࿰…...
【Axure高保真原型】移动案例
今天和大家分享多个常用的移动案例的原型模板,包括轮盘滑动控制元件移动、页面按钮控制元件移动、鼠标单击控制元件移动、元件跟随鼠标移动、鼠标拖动控制元件移动、键盘方向键控制元件移动,具体效果可以点击下方视频观看或打开下方预览地址查看哦 【原…...
Bytebase 3.0.0 - AI 助手全面升级
🚀 新功能 SQL 编辑器里的 AI 助手:支持将自然语言转换成 SQL 语句,解释 SQL 代码,还能帮助发现潜在问题。 支持 SQL Server DML 语句一键回滚。支持 MariaDB 的在线大表变更。新的 SQL 审核规则: 要求为 MySQL 设置 …...
php基础:数据类型、常量、字符串
语法补充: 每句必须以;结尾 echo:能输出一个以上的字符串,英文逗号隔开 print:只能输出一个字符串并返回1 1.数据类型 php可以自动识别数据类型。 php有5种数据类型:String(字符串…...
Discuz发布原创AI帖子内容生成:起尔 | AI原创帖子内容生成插件开发定制
Discuz发布原创AI帖子内容生成:起尔 | AI原创帖子内容生成插件开发定制 在当今互联网快速发展的时代,内容创作成为了网站运营、社交媒体管理和个人博客维护不可或缺的一部分。然而,高质量内容的创作往往耗时耗力,特别是对于需要频…...
el-table在某些条件下禁止选中
el-table在某些条件下禁止选中 废话不多说直接上代码 HTML部分 <el-table v-loading"loading" :data"wmsShipmentOrderList" ref"multipleTable" select"handleSelect" selection-change"handleSelectionChange">&…...
深入探讨 HTTP 请求方法:GET、POST、PUT、DELETE 的实用指南
文章目录 引言GET 方法POST 方法PUT 方法DELETE 方法小结适用场景与特点总结最佳实践 在 API 设计中的重要性 引言 HTTP 协议的背景:介绍 HTTP(超文本传输协议)作为互联网的基础协议,自 1991 年发布以来,成为客户端和…...
深度学习:元学习(Meta-Learning)详解
元学习(Meta-Learning)详解 元学习,也称为“学会学习”,是机器学习中的一个重要子领域,旨在开发能够快速适应新任务或环境的模型,即使这些任务的可用数据非常有限。元学习的核心思想是通过经验学习如何学习…...
uniapp展示本地pdf + 自定义标题
概要 本文主要讲述uniapp打包的Android项目如何展示本地的PDF文件,并设置标题 需求分析 1、因为是打包的Android项目展示本地的PDF文件,首先需要拿到这个本地的PDF文件路径 2、如何在uniapp的vue页面中展示PDF,因为没有直接展示PDF文件的…...
国标GB28181设备管理软件EasyGBS国标GB28181-2016平台更换SQLite数据库的步骤
在当今数字化、智能化的时代,视频监控系统已成为各行各业不可或缺的一部分。国标GB28181设备管理软件EasyGBS,作为一款功能强大的国标视频云服务平台,凭借其广泛的应用场景和卓越的性能,在智慧城市、智慧园区、智慧交通、智慧医疗…...
C++基础与实用技巧第三节:内存管理与性能优化
第二章:C基础与实用技巧 第三节:内存管理与性能优化 1. 动态内存的管理策略与技巧 动态内存管理是C编程的核心部分之一,合理管理内存可以极大提高程序的性能和稳定性。在C中,动态内存的分配和释放通常使用new和delete运算符&am…...
【移动应用开发】界面设计(二)实现水果列表页面
续上一篇博客 【移动应用开发】界面设计(一)实现登录页面-CSDN博客 目录 一、采用ViewBinding实现一个RecyclerView 1.1 在app/build.gradle中添加recyclerview依赖,并打开viewBinding (1)在app/build.gradle中添加…...
基于Multisim的四人智力竞赛抢答器设计与仿真
1)设计任务 设计一台可供 4 名选手参加比赛的智力竞赛抢答器。 用数字显示抢答倒计时间,由“9”倒计到“0”时,无人抢答,蜂鸣器连续响 1 秒。选手抢答时,数码显示选手组号,同时蜂鸣器响 1 秒,倒…...
前端学习---(4)js基础-2
事件: 事件的三要素:事件源、事件、事件驱动程序。 事件处理步骤: (1)获取事件源:document.getElementById(“box”); // 类似于Android里面的findViewById (2)绑定事件: 事件源box.事件onclick…...
重生之“我打数据结构,真的假的?”--3.栈和队列(无习题)
栈和队列 C语言中的栈和队列总结 在C语言中,**栈(Stack)和队列(Queue)**是两种非常重要的数据结构。它们广泛用于各种应用中,比如内存管理、任务调度、表达式求值等。本文将对这两种数据结构进行详细的介…...
《Python游戏编程入门》注-第2章2
《Python游戏编程入门》的“2.2.5 绘制线条”中提到了通过pygame库绘制线条的方法。 1 相关函数介绍 通过pygame.draw模块中的line()函数来绘制线条,该函数的格式如下所示。 line(surface, color, start_pos, end_pos, width1) -> Rect 其中,第一…...
PoissonRecon学习笔记
1. Screened Poisson Reconstruction (SPR) 源码:https://github.com/mkazhdan/PoissonRecon However, as noted by several researchers, it suffers from a tendency to over-smooth the data. 泊松重建存在过度平滑的现象。 方法:position and gradi…...
腾讯云DBA面试(一面)
摘要:腾讯云前端时间约了个了维护工程师的面试,总结下面试题。 1、oracle索引原理和mysql索引原理的区别,性能差异?b tree 和 b+ tree 区别。 (1) B+树改进了B树, 让非叶子结点只作索引使用, 去掉了其中指向data record的指针, 使得每个结点中能够存放更多的key, 因此能有更…...
Python:背景知识及环境安装
一、计算机的基础概念 1.1 什么是计算机? 最早我们有计算器,但是他只能完成算数运算的功能 而计算机能完成的工作有: (1)算术运算 (2)逻辑判断 (3)数据存储 (…...
力扣第420周赛 中等 3324. 出现在屏幕上的字符串序列
文章目录 题目介绍题解 题目介绍 题解 因为是要求按键次数最少,所以不用考虑 ‘z’ 变为 ‘a’ 的情况。 代码如下: class Solution {public List<String> stringSequence(String target) {List<String> ans new ArrayList<>();St…...
ant design vue树选择器实现部分层级禁用(指定层级或依据字段判断)
1、依据字段判断是否禁用 const handData (array, level?) > {array.forEach((item) > {if (level 0) {//获取一级菜单item.title item.levelName;item.value item.code;if (item.type LAYER) {item.disabled true;} else if (item.type JOB) {item.disabled f…...
安灯系统助力汽车零部件工厂快速解决生产异常
在汽车零部件制造领域,高效的生产管理和快速解决异常情况是确保产品质量和生产进度的关键。而安灯系统的应用,正为汽车零部件工厂带来了全新的变革,助力其快速解决生产异常。 汽车零部件工厂的生产报工产线看板直观地反映出生产的各项关键数据…...
vue父子传参的方式——Prop
Prop 每一个组件都有一个props的属性,用来接收外部传递的数据 这里我拿一个分页组件为例: 一、基础语法 1、父组件传递数据 父组件在向子组件传递数据时,基础语法如下: <template><div><common-page :pagina…...
Apache Commons Text 指南:比 String 更强大的文本处理工具
Apache Commons Text 指南:比 String 更强大的文本处理工具 在 Java 开发中,String 类是处理文本的基础工具,但当面对复杂的文本处理需求时,其局限性就显而易见了。Apache Commons Text 提供了一个更加灵活强大的文本处理工具集&…...
C++面向对象编程学习
C面向对象编程学习 前言一、C面向对象编程二、知识点学习1. 定义一个类1.1 使用struct定义1.2 使用class定义1.3 struct和class的区别 2. 类的定义方式2.1 单文件定义(Inline Definition)2.2 分离定义(Separate Definition)2.3 头…...
湛江本地做网站/论坛seo教程
1.七年级(2)班的学生特别喜欢数学老师王老师,都觉得她是一个好老师,因为王老师说话很好听,不管她说什么大家都觉得是好的。这种现象属于()。 A.投射效应 B.晕轮效应 C.皮格马利翁效应 D.首因效…...
新的网站建设技术/百度销售岗位怎么样
微机原理及接口技术(2018年机械工业出版社出版的图书)语音编辑锁定讨论上传视频《微机原理及接口技术》是2018年机械工业出版社出版的图书,作者是胡蔷。书 名微机原理及接口技术作 者胡蔷出版社机械工业出版社[1]出版时间2018年5月21日定 价48.0开 本16…...
本地安装wordpress/计算机培训机构
strlen函数:求字符串的长度size_t strlen(const char *s)头文件:#include说明:求出s指向的字符串的长度(不包括null字符)。返回值:返回s指向的字符串的长度。size_t strlen(const char *s){size_t len 0;while(*s)len;return len;}strcpy和strncpy函数:…...
怎么做网站文字优化/促销活动推广语言
在使用ajks时,json是经常使用的一种数据,我对它了解的也不是很透彻,但在这里想要分享一下最近答辩中我使用它的一种形式,当然这是一种很笨的方法。 我希望在访问网上书店时,主页里有一些分类,点击不同的分类…...
wordpress 建站 视频 百度云/摘抄一小段新闻
举例: 注意:在声明中函数的第二个参数给定了缺省值NULL,如果调用时候不指定具体参数,程序则按NULL处理,如果指定了具体值,则按照实际处理。下面是使用例子。 这样处理可以节省代码。解决有时候需要两个重载…...
网站开发使用的工具/新东方烹饪培训学校
Mecanim简介 Mecanim动画系统是Unity3D4.0开始引入的一套全新的动画系统,主要提供了下面4个方面的功能: 针对人形角色提供一套特殊的工作流。动画重定向的能力,可以非常方便的把动画从一个角色模型应用到其他角色模型之上。提供可视化的Anima…...