在一个 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'
    只有一个格子上存在 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)相关推荐

  1. LeetCode:999. 车的可用捕获量

    999. 车的可用捕获量 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 其实很简单,先找到车的位置,在扫描车所在的行和列判断即可 源码: int numRookCaptures(char* ...

  2. LeetCode 999. 车的可用捕获量

    1. 题目 在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R","." ...

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

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

  4. 每日一题,每日一练。11车的可用捕获量(半夜两点在棋盘上左右横跳),

    在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R",".",&quo ...

  5. python【力扣LeetCode算法题库】999-车的可用捕获量(DFS)

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

  6. LeetCode ----车的可捕获量(JavaScript解法)

    一.题目描述 #### 二.实例 三.解题思路 我们可以用两层循环来对它进行遍历,当遇到R时记录它的横纵坐标 再对四个方向依次进行一个遍历,当遇到B时直接break,当遇到p时num++,再break ...

  7. LeetCode第一题两数之和---JavaScript

    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一 ...

  8. 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], ...

  9. leetcode 5 Longest Palindromic Substring Java JavaScript解法

    题目详情 Given a string s, find the longest palindromic substring in s. You may assume that the maximum ...

最新文章

  1. 人少,登录速度就是快.
  2. 基于chrome内核的.NET开发资源
  3. 邻接矩阵实现图的深度优先搜索(1)
  4. spring学习(26):更优雅的依赖注入 在@bean注入参数
  5. U盘装win7系统出现question(1808)的原因与解决方法
  6. 2019-07-03
  7. sds数据结构,Simple Dynamic String,简单动态字符串
  8. java使用io上传文件_文件传输基础——Java IO流
  9. ssh详细原理流程及配置
  10. 引用 CSS+DIV/Ul+LI/dl+dt+dd/tabale+css 样式
  11. 手把手教你给电脑安装manjaroLinux操作系统
  12. matlab仿真电子秤,基于51单片机电子秤的代码
  13. 基于单片机的电池管理系统
  14. 目录遍历(Directory traversal)
  15. 华为WATCH 3手表怎么收能量,速领手表一键收能量
  16. 群辉DSM6.2下载 Transmission中文版介绍以及出现 syntax error near unexpected token 问题解决
  17. 计算机用户分为哪4类,计算机的分类-通常将计算机分为哪几类?通常将计算机分为哪几类,各自的特点和用途 爱问知识人...
  18. 【C#基础教程】第二十章、事件
  19. EMC电磁兼容性问题总结
  20. 张垭飞VIP SEO课程

热门文章

  1. Python内置容器(2)——字典,迭代器,列表解析
  2. LINUX find、ln 常用命令总结
  3. Bash 一些变量的操作
  4. tcpdump 一个比较详细的用法
  5. linux下DNS服务器的配置
  6. Linux操作系统使用基础03:Linux文件权限与目录配置
  7. linux moxa 多串口卡_MOXA多串口卡C32030TCPU模块双RISC-based处理器架构大幅提升I/O数据传输的效能达到8口或以上...
  8. menu什么意思中文意思_alternate什么意思
  9. python绘制不带颜色曲线图_绘制一条曲线,并根据每个点的值和定制的颜色图对其进行着色...
  10. mysql 360 atlas_360 Atlas中间件安装及使用