每日一题,每日一练。11车的可用捕获量(半夜两点在棋盘上左右横跳),
在一个 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 的卒。
提示:
board.length == board[i].length == 8 board[i][j] 可以是 ‘R’,’.’,‘B’ 或 ‘p’
只有一个格子上存在 board[i][j] == ‘R’
我承认我一开始找车完以后写了个深搜(淦),后来发现这题练得不是深搜,就是遍历写法==于是写了个四个循环(写的更多了,淦)
找到车的位置,向四个方向进行深搜,搜到棋或边界退出,如果搜到卒先+1再退出
代码如下
class Solution:def numRookCaptures(self, board: List[List[str]]) -> int:flag=1co=0row=0li=0for i in range(len(board)):for ii in range(len(board[0])):if(board[i][ii]=="R"):row=ili=iiflag=0breakif(flag==0):breakfor c in range(li+1,len(board)):try:if(board[row][c]=="p"):co=co+1breakelif(board[row][c]=="B"):breakexcept IndexError:breakfor c in range(li-1,-1,-1):try:if(board[row][c]=="p"):co=co+1breakelif(board[row][c]=="B"):breakexcept IndexError:breakfor d in range(row+1,len(board)):try:if(board[d][li]=="p"):co=co+1breakelif(board[d][li]=="B"):breakexcept IndexError:breakfor d in range(row,-1,-1):try:if(board[d][li]=="p"):co=co+1breakelif(board[d][li]=="B"):breakexcept IndexError:breakreturn co
内存:我真的一滴都不剩了
每日一题,每日一练。11车的可用捕获量(半夜两点在棋盘上左右横跳),相关推荐
- 田蕴章书法讲座《每日一题,每日一字》(1) 文字整理 ——永字八法
近日发现天津南开田蕴章老师讲座<每日一题,每日一字>,对了解文化和书写挺好的,所以简单的整理成文字供以后使用. 永字八法.永字八法其实就是「永」这个字的八个笔画,代表中国书法中笔画的大体, ...
- LeetCode:999. 车的可用捕获量
999. 车的可用捕获量 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 其实很简单,先找到车的位置,在扫描车所在的行和列判断即可 源码: int numRookCaptures(char* ...
- 【LeetCode】999. 车的可用捕获量
题目链接: 999. 车的可用捕获量 题目描述: 在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R ...
- 【每日一题】8月11日题目精讲—矩阵消除游戏
来源:牛客网: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 牛妹在玩一个名为矩阵消除的 ...
- 牛客网 【每日一题】6月11日题目精讲 背包
链接: 文章目录 题目描述 题解: 代码: 题目描述 Applese有1个容量为v的背包,有n个物品,每一个物品有一个价值ai,以及一个大小bi 然后他对此提出了自己的疑问,如果我不要装的物品装的价值 ...
- AcWing - 寒假每日一题2023(DAY 11——DAY 15)
文章目录 一.AcWing 4656. 技能升级(困难) 1. 实现思路 2. 实现代码 二.AcWing 4454. 未初始化警告(简单) 1. 实现思路 2. 实现代码 三.AcWing 4509 ...
- 【每日一题】打卡 11
原题链接:Problem - C - Codeforces 可以利用二分答案求解,假设可做n个, 判断每种原料总花费够不够总钱数 #include<bits/stdc++.h> using ...
- 牛客网 【每日一题】5月11日题目精讲 Moovie Mooving
题目链接 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 Bessie is out at t ...
- 每日一题.每日一练 .6.水壶问题(写完感觉自己能去讲课版)
有两个容量分别为 x升 和 y升 的水壶以及无限多的水.请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水? 如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水. 你允许: 装满任意 ...
最新文章
- Windows Server 2008 R2 做开发需要开启那些角色和组件
- Windows下lex 与 yacc的使用
- Linux vim复制操作
- SAP Leonardo机器学习图片相似度打分API的测试报告
- 硬件加速下webview切换闪屏_网页渲染性能优化 —— 性能优化下
- thread local性能 c++_MySQL 5.7 amp; MySQL 8.0 性能对比
- 自然水体辐射特性与数值模拟 pdf_自然科学基金|水下消油剂处理对海底溢油输移扩散的影响实验及数值模拟研究...
- 网站网络流量的极限,你考虑过么?
- Spark.shuffle.io.maxRetries参数
- 通过minicom传送文件的相关配置及使用方法
- MSSQL coalesce系统函数简介
- 第八章 机器人语音交互 课后作业
- java虚拟机启动失败_Eclipse 启动提示java虚拟机启动失败
- 机器人领域 期刊与会议
- python多线程中join()的理解
- 如何安装java-jdk
- 腾讯:互联网金融行业HBase实践与创新
- Coin Changing
- 教你怎么打印出实际大小的身份证
- 【测试】自动化测试01
热门文章
- 中秋征文 | 【云原生之Docker】使用docker部署内网穿透工具FRP
- python输出整数部分和小数_Python 正则表达式:只要整数和小数
- 企业视频会议系统接入互联网的八种方法
- 计算机考研英语一历年国家线,历年考研英语国家线汇总(2009-2020)
- 作为互联网创业城市的杭州
- ABB机器人PCSDK使用(一)
- 基于Java的图书馆借阅管理系统的设计与实现--毕业开题报告
- 万能视频播放器:恒星播放器 for Mac(1.500中文免费)
- java spring 使用GuideController实现信息的多步采集
- 计算机学习 常用站点