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

在这里插入图片描述

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

目录

  • 一、题目描述
  • 二、题目分析


一、题目描述

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

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

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

在这里插入图片描述

二、题目分析

这道题下面的a,b,c啥的很讨厌,因为不是数字。
但我们可以通过字符的 ASCII 码值进行转换,例如'a' - 'a'的结果就是0;
在这里插入图片描述

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

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

char charAt(int index)

这个方法接受一个整数参数 index,表示要获取的字符的位置。字符串中的索引从 0 开始,即第一个字符的索引是 0,第二个字符的索引是 1,以此类推。如果 index 超出字符串的有效范围,会抛出 StringIndexOutOfBoundsException 异常。
知道了这个后,我们就可以把象棋棋盘上的格子转化为坐标。
例如'a1'我们就可以用如下代码:

int a = coordinates.charAt(0) - 'a';
int b = coordinates.charAt(1) - '1';

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

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;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/98874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

环信web、uniapp、微信小程序SDK报错详解---登录篇

项目场景: 记录对接环信sdk时遇到的一系列问题,总结一下避免大家再次踩坑。这里主要针对于web、uniapp、微信小程序在对接环信sdk时遇到的问题。主要针对报错400、404、401、40 (一) 登录用户报400 原因分析: 从console控制台输出及networ…

【C++】哈希与布隆过滤器

🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…

Unity 之 EditorGUILayout.BeginHorizontal/EndHorizontal异常报错问题

报错内容: 缘由:由于在EditorGUILayout.EndHorizontal()之前执行了类似打开窗口的逻辑 解决办法: 在EditorGUILayout.EndHorizontal()之前执行GUIUtility.ExitGUI();

javascript制作简单的富文本,基本功能都实现,除了上传图片只能用URL

//所有的图标用的字符,以后可以换成网上的css-icon图标库的图标,再设置一下css样式即可简单的使用 //这里所有的标签元素都是直接获取,没有使用委托,如果使用委托性能会更好,这里只做了简单的清理,让内存回…

利用KerasCV YOLOv8轻松实现目标精确检测

本文中将实现基于KerasCV YOLOv8的交通灯信号检测,并附录完整代码。。 自从You Only Look Once(简称 YOLO)的诞生以来,目标检测问题主要通过深度学习来解决。大多数深度学习架构通过巧妙地将目标检测问题构建为多个小分类问题和回归问题的组合来实现。具体而言,它是通过在…

Redis-04独立功能的实现

1、发布与订阅 介绍: Redis的发布与订阅功能由PUBLISH、SUBSCRIBE、PSUBSCRIBE等命令组成。通过SUBSCRIBE命令,客户端可以订阅一个或多个频道,成为这些频道的订阅者(subscriber)每当有其他客户端向被订阅的频道发送消…

监控搭建-Prometheus

监控搭建-Prometheus 1、背景2、目标3、选型4、Prometheus4.1、介绍4.2、架构4.3、构件4.4、运行机制4.5、环境介绍4.6、数据准备4.7、网络策略4.7.1、主机端口放行4.7.2、设备端口放行 4.8、部署4.9、验证4.10、配置 1、背景 随着项目信息化进程的推进,操作系统、…

2579. 统计染色格子数(javascript)

有一个无穷大的二维网格图,一开始所有格子都未染色。给你一个正整数 n ,表示你需要执行以下步骤 n 分钟: 第一分钟,将 任一格子染成蓝色。之后的每一分钟,将与蓝色格子相邻的 所有 未染色格子染成蓝色。 下图分别是 …

Redis-02单机数据库的实现

Redis-02单机数据库的实现 1、服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redisDb结构,每个redisDb结构代表一个数据库; 在初始化服务器时&#xff0c…

竞赛 机器视觉目标检测 - opencv 深度学习

文章目录 0 前言2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 0 前言 &#x1f5…

如何从零开始系统的学习项目管理?

一、项目的概念 根据项目管理协会(PMI)的定义,项目是指为了创造独特的产品、服务或成果而进行的临时性工作。这意味着项目需要有明确的目标,且不是日常重复性工作。尽管项目是临时性工作,但它所交付的成果可能会持续存…

锁降级 ReentrantReadWriteLock

锁降级 ReentrantReadWriteLock 所谓降级,可以通过一个例子理解,一般都是写的权限大,读的权限小,从写到读自然是降级,这是通俗的理解。 锁降级:同一个线程先获取写锁,在写锁未释放的情况下&…

【计算机网络】poll | epoll

文章目录 1. pollpoll函数参数解析代码解析PollServer代码 poll 特点 2. epoll认识接口epoll_createepoll_ctlepoll_wait 基本原理红黑树就绪队列 1. poll poll函数参数解析 输入 man poll poll的第一个参数是文件描述符 poll的第二个参数为 等待的多个文件描述符(fd)数字层面…

【计算机视觉 05】YOLO论文讲解:V1-V7

https://ai.deepshare.net/live_pc/l_63243a65e4b050af23b79338 Part1.目标检测与YOLO系列 1. 目标检测任务及发展脉络 2. YOLO的发展史 Anchors Base原理: Part2.YOLOV1-V3 3. YOLO V1的网络结构 4. YOLO V3的网络结构与实验结果 Part3.YOLO的进化 5. YOLO V4的网络…

【JavaEE】多线程进阶(一)饿汉模式和懒汉模式

多线程进阶(一) 文章目录 多线程进阶(一)单例模式饿汉模式懒汉模式 本篇主要引入多线程进阶的单例模式,为后面的大冰山做铺垫 代码案例介绍 单例模式 非常经典的设计模式 啥是设计模式 设计模式好比象棋中的 “棋谱”…

服务器启用SGX(以PowerEdge R750为例)

一、检查处理器是否支持SGX 在shell中输入以下命令查看CPU型号 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c在Product Specifications中找到对应的处理器参数信息,如果支持SGX,可以在Security & Reliability中看到如下信息 二、以“软…

初学者如何选择:前端开发还是后端开发?

#开发做前端好还是后端好【话题征文】# 作为一名有多年开发经验的过来人,我认为前端开发和后端开发都有其独特的魅力和挑战。下面我将就我的个人经历和观点来分享一些关于前端开发和后端开发的看法。 首先,让我们将编程世界的大城市比作前端开发和后端开…

Git 学习笔记 | Git 基本理论

Git 学习笔记 | Git 基本理论 Git 学习笔记 | Git 基本理论Git 工作区域Git 工作流程 Git 学习笔记 | Git 基本理论 在开始使用 Git 创建项目前,我们先学习一下 Git 的基础理论。 Git 工作区域 Git本地有三个工作区域:工作目录(Working Di…

计算机网络笔记3 数据链路层

计算机网络系列笔记目录👇 计算机网络笔记6 应用层计算机网络笔记5 运输层计算机网络笔记4 网络层计算机网络笔记3 数据链路层计算机网络笔记2 物理层计算机网络笔记1 概述 文章前言 💗 站在巨人的肩膀上,让知识的获得更加容易&#xff01…

vue,前端打包项目、部署上线

前端项目是在本地的IDE开发的。流程是:开发》打包》上线到生产环境》使用。 vue脚手架只是开发过程中,协助开发的工具,当真正开发完了,脚手架不参与上线。 这时候要用到打包了。 打包后,可以生成,浏览器能够直接运行的网页>就是需要上线的源码! 打…