999. 车的可用捕获量

在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。

车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上颜色相反的卒。另外,车不能与其他友方(白色)象进入同一个方格。

返回车能够在一次移动中捕获到的卒的数量。

示例 1:

输入:[[".",".",".",".",".",".",".","."],[".",".",".","p",".",".",".","."],[".",".",".","R",".",".",".","p"],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."],[".",".",".","p",".",".",".","."],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."]]
输出:3
解释:
在本例中,车能够捕获所有的卒。

示例 2:

输入:[[".",".",".",".",".",".",".","."],[".","p","p","p","p","p",".","."],[".","p","p","B","p","p",".","."],[".","p","B","R","B","p",".","."],[".","p","p","B","p","p",".","."],[".","p","p","p","p","p",".","."],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."]]
输出:0
解释:
象阻止了车捕获任何卒。

示例 3:

输入:[[".",".",".",".",".",".",".","."],[".",".",".","p",".",".",".","."],[".",".",".","p",".",".",".","."],["p","p",".","R",".","p","B","."],[".",".",".",".",".",".",".","."],[".",".",".","B",".",".",".","."],[".",".",".","p",".",".",".","."],[".",".",".",".",".",".",".","."]]
输出:3
解释:
车可以捕获位置 b5,d6 和 f5 的卒。

提示:

  1. board.length == board[i].length == 8
  2. board[i][j] 可以是 'R''.''B' 或 'p'
  3. 只有一个格子上存在 board[i][j] == 'R'

解法一

//时间复杂度O(1), 空间复杂度O(1)
class Solution {
public:int numRookCaptures(vector<vector<char>>& board, int i, int j) {int count = 0, k;for(k = i + 1; k < 8 && board[k][j] == '.'; k++);if(k != 8 && board[k][j] == 'p') count++;for(k = i - 1; k >= 0 && board[k][j] == '.'; k--);if(k != -1 && board[k][j] == 'p') count++;for(k = j + 1; k < 8 && board[i][k] == '.'; k++);if(k != 8 && board[i][k] == 'p') count++;for(k = j - 1; k >= 0 && board[i][k] == '.'; k--);if(k != -1 && board[i][k] == 'p') count++;return count;}int numRookCaptures(vector<vector<char>>& board) {for(int i = 0; i < 8; i++) {for(int j = 0; j < 8; j++) {if(board[i][j] == 'R') return numRookCaptures(board, i, j);}}return 0;}
};

思路:

先遍历一次寻找车(‘R’),找到之后从其位置出发,向上、下、左、右4个方向寻找,若找到卒(‘p’)就将计数count++,最后返回count。

2019/08/27 12:43

http://www.taodudu.cc/news/show-2485795.html

相关文章:

  • html5 楼盘效果图,楼盘效果图图集
  • macOS 曝可获取用户密码的 0day 漏洞;Fedora logo 改版三个候选方案
  • 从QQtabBar看css命名规范BEM
  • Mac基本操作
  • 3个简单的事情,使你的jQuery代码变得更加棒
  • Beyond Accuracy:Behavioral Testing of NLP Models with Checklist 论文阅读
  • 200道Java灵魂考题:全部掌握拿下阿里P7腾讯T3.2
  • html5视屏教程地址
  • 博主的EMNLP2021合作工作已公开:TransPrompt——基于Prompt和迁移学习的小样本文本分类,欢迎阅读与引用
  • 如何利用多任务学习提升模型性能?
  • BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding
  • GLUE标准数据集
  • NLP数据集:GLUE【CoLA(单句子分类)、SST-2(情感二分类)、MRPC、STS-B、QQP、MNLI、QNLI、RTE、WNLI】【知名模型都会在此基准上进行测试】
  • GLUE数据集免费下载 (MNLI, QQP, QNLI, SST-2, CoLA, STS-B, MRPC, RTE, WNLI)
  • GLUE数据集介绍:RTE、MRPC、SST-2、QNLI、MNLI、QQP
  • GLUE部分基准数据集介绍:RTE、MRPC、SST-2、QNLI、MNLI、QQP
  • Unity 4:DirectX 11
  • direct在计算机网络中是什么意思,DX11是什么 DX11(DirectX 11)是什么意思?
  • DirectX11,DirectX12,OpenGL,Vulkan学习资料
  • DirectX11 Tessellation曲面细分实现动态增加模型细节
  • 3D GAME PROGRAMMING WITH DIRECTX11(3)
  • DirectX11--ComPtr智能指针
  • 3D GAME PROGRAMMING WITH DIRECTX11 (1)
  • DirectX 11
  • 在Windows 10下配置 DirectX11 + Visual Studio 2017开发环境
  • DirectX11 With Windows SDK--21 鼠标拾取
  • DirectX11程序从VS2010转到VS2015的配置与使用
  • 《基于 DirectX11 的 3D 图形程序设计案例教程》学习一 HelloWorld
  • directx 11 SDK
  • ffmpeg实时传输视频_使用ffmpeg和DirectX 11流式传输视频

999. Available Captures for Rook相关推荐

  1. Leetcode 999. Available Captures for Rook

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 1. Description 2. Solution **解析:**Version 1,先找到R,再分别统计四个方 ...

  2. LeetCode刷题记录+数据结构总结

    题号 思路 时间 8. String to Integer (atoi) 没想到有限自动机,写的太臃肿,边界条件考虑的也不足,用DFA分析起来就会很舒服 2020.4.3 11. Container ...

  3. python random函数原理_Python random() 函数

    描述 random() 方法返回随机生成的一个实数,它在[0,1)范围内. 语法 以下是 random() 方法的语法: import random random.random() 注意:random ...

  4. 【LeetCode】999. 车的可用捕获量

    题目链接: 999. 车的可用捕获量 题目描述: 在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R ...

  5. English in 999

    1. I see. 我明白了. 2. I quit! 我不干了! 3. Let go! 放手! 4. Me too. 我也是. 5. My god! 天哪! 6. No way! 不行! 7. Com ...

  6. Rook存储:Kubernetes中最优秀的存储

    本文讲的是Rook存储:Kubernetes中最优秀的存储[编者的话]Rook存储集群,其实是在著名的分布式存储系统Ceph的一个封装,以Kubernetes Application的方式运行了监控. ...

  7. RTX 30系游戏本来了!1月26日开售,售价999美元起

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI RTX30系列的GPU也杀到笔记本上了! 今天凌晨,英伟达在CES 2021展会上正式推出适配笔记本的RTX 30系列移动显卡,包括RTX ...

  8. 戴尔官网全网抄底价! 企业级高性能机Vostro仅¥1,999!更有额外福利等你来领!...

    你们知道的!小编作为资深买买买爱好者 全网最低折扣,掐掐手指我就想到了! 就是戴尔官网在线砍价!! 戴尔小企业官网11月15日 全网抄底价! 企业级高性能机仅¥1,999! 还有多款机型可联系客服在线 ...

  9. oracle 函数to_char(数据,'FM999,999,999,999,990.00') 格式化数据

    转载自: https://blog.csdn.net/fupengyao/article/details/52778565 遇到了oracle 取数格式问题,这里记一下 我们通常在做数据算数后,会想要 ...

  10. 支付系统高可用架构设计实战,可用性高达99.999!

    作者:冯忠旗 来源:juejin.im/post/5cfde01bf265da1bba58f863 一.背景 对于互联网应用和企业大型应用而言,多数都尽可能地要求做到7*24小时不间断运行,而要做到完 ...

最新文章

  1. Redis的一些“锁”事
  2. 【Scratch】青少年蓝桥杯_每日一题_4.01_踢足球
  3. 如何不编程,采集网站评论信息?(视频教程)
  4. pom添加mysql依赖tomcat崩溃_Spring Boot + Mybatis + Spring MVC环境配置(一) :Spring Boot初始化,依赖添加...
  5. 最快配置本地Yum仓库
  6. kafka redis vs 发布订阅_对比平台--Redis Vs Kafka 之间的区别
  7. 1040. 有几个PAT(25)- PAT乙级真题
  8. 解决:Please either set ERLANG_HOME to point to your Erlang installation or place the RabbitMQ server d
  9. AspUpload中文手册及语法
  10. 怎样找到win7系统默认的微信缓存文件夹路径
  11. 性能优化-service进程防杀
  12. python筛选出csv满足某条件的行_Python之根据条件筛选特定行
  13. 苹果手机怎么验证app_苹果序列号查询 未验证怎么办?
  14. ajax异步请求刷新
  15. HTML、CSS、JS(JAVA Sprict)
  16. nedc和epa续航里程什么意思_电动车NEDC、EPA、WTLP续航是什么意思?哪个最靠谱?...
  17. 2021暑期积分赛一
  18. fat32转ntfs解决大于4G文件不能保存问题
  19. 【二十四史-史记】程序猿看史记-五帝本纪(一)
  20. MultipartFile转换成base64

热门文章

  1. 排序算法——选择排序
  2. 用Python3创建httpServer
  3. html 小喇叭图标,小喇叭不见了怎么办(小喇叭图标不见了的原因及解决办法)...
  4. 恒生电子 招聘FPGA开发/验证工程师
  5. React Native Navigation
  6. Android 10 SystemUI中Android.bp文件中集成第三方JAR包或者so文件的方法
  7. 程序员请万分珍重你的第一份工作,否则后悔了概不负责
  8. 伽罗华域, 二维码和CRC
  9. 基于原生Wine6.0.2稳定版打补丁解决ukylin-wine图标显示异常和deepin-wine闪退的问题,Ubuntu运行QQ接近完美(附补丁)。
  10. VScode嵌入式开发之入门教程