LeetCode(999)——车的可用捕获量(JavaScript)
在一个 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'
/*** @param {character[][]} board* @return {number}*/
var numRookCaptures = function(board) {};
个人解法
var numRookCaptures = function(board) {var result = 0,index,arr = [],arr2 = [];//示例3//找到车的那一行["p","p",".","R",".","p","B","."]for(var i = 0; i < board.length; i++){if(board[i].indexOf("R") > -1){index = board[i].indexOf("R");arr.push(board[i]);break;}}//找到车的那一列[".","p","p","R",".","B","p","."]for(var i = 0; i < board.length; i++){arr2.push(board[i][index]);}arr.push(arr2);//去掉.for(var i = 0; i < arr.length; i++){//arr[i].join("").split(".") => ["p","p",".","R",".","p","B","."]for(var j = 0; j < arr[i].length; j++){if(arr[i][j] === '.'){arr[i].splice(j,1);j--;}}if(arr[i][arr[i].indexOf("R") - 1] === "p"){result ++;}if(arr[i][arr[i].indexOf("R") + 1] === "p"){result ++;}}return result;
};
LeetCode(999)——车的可用捕获量(JavaScript)相关推荐
- LeetCode:999. 车的可用捕获量
999. 车的可用捕获量 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 其实很简单,先找到车的位置,在扫描车所在的行和列判断即可 源码: int numRookCaptures(char* ...
- LeetCode 999. 车的可用捕获量
1. 题目 在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R","." ...
- 【LeetCode】999. 车的可用捕获量
题目链接: 999. 车的可用捕获量 题目描述: 在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R ...
- 每日一题,每日一练。11车的可用捕获量(半夜两点在棋盘上左右横跳),
在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R",".",&quo ...
- python【力扣LeetCode算法题库】999-车的可用捕获量(DFS)
车的可用捕获量 在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R",".&qu ...
- LeetCode ----车的可捕获量(JavaScript解法)
一.题目描述 #### 二.实例 三.解题思路 我们可以用两层循环来对它进行遍历,当遇到R时记录它的横纵坐标 再对四个方向依次进行一个遍历,当遇到B时直接break,当遇到p时num++,再break ...
- LeetCode第一题两数之和---JavaScript
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一 ...
- LeetCode 695. Max Area of Island javascript解决方案
题意: 寻找最大岛. leetcode.com/problems/ma- 传入: [[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], ...
- leetcode 5 Longest Palindromic Substring Java JavaScript解法
题目详情 Given a string s, find the longest palindromic substring in s. You may assume that the maximum ...
最新文章
- 人少,登录速度就是快.
- 基于chrome内核的.NET开发资源
- 邻接矩阵实现图的深度优先搜索(1)
- spring学习(26):更优雅的依赖注入 在@bean注入参数
- U盘装win7系统出现question(1808)的原因与解决方法
- 2019-07-03
- sds数据结构,Simple Dynamic String,简单动态字符串
- java使用io上传文件_文件传输基础——Java IO流
- ssh详细原理流程及配置
- 引用 CSS+DIV/Ul+LI/dl+dt+dd/tabale+css 样式
- 手把手教你给电脑安装manjaroLinux操作系统
- matlab仿真电子秤,基于51单片机电子秤的代码
- 基于单片机的电池管理系统
- 目录遍历(Directory traversal)
- 华为WATCH 3手表怎么收能量,速领手表一键收能量
- 群辉DSM6.2下载 Transmission中文版介绍以及出现 syntax error near unexpected token 问题解决
- 计算机用户分为哪4类,计算机的分类-通常将计算机分为哪几类?通常将计算机分为哪几类,各自的特点和用途 爱问知识人...
- 【C#基础教程】第二十章、事件
- EMC电磁兼容性问题总结
- 张垭飞VIP SEO课程
热门文章
- Python内置容器(2)——字典,迭代器,列表解析
- LINUX find、ln 常用命令总结
- Bash 一些变量的操作
- tcpdump 一个比较详细的用法
- linux下DNS服务器的配置
- Linux操作系统使用基础03:Linux文件权限与目录配置
- linux moxa 多串口卡_MOXA多串口卡C32030TCPU模块双RISC-based处理器架构大幅提升I/O数据传输的效能达到8口或以上...
- menu什么意思中文意思_alternate什么意思
- python绘制不带颜色曲线图_绘制一条曲线,并根据每个点的值和定制的颜色图对其进行着色...
- mysql 360 atlas_360 Atlas中间件安装及使用