js 检测数据特殊数字 算法题

听说JavaPython及c都能写算法,那么js能写算法题吗?

js 算法题如下:

0   5    7    9    6
2   4    3    2    1
3   4    5    8    1
有5列数,每一列3个数字,定一个特殊的数字3,找出一共有多少个3.
规则:

从第一列开始,要连续才算,如上,第一列有3,第二列没有则整个只计第一列的3.

第一列没有则整个只计0.

第一、二列有,第三列没有第四列有,则计第一、二列的3.

<!DOCTYPE html>
<html>
<head>
 <meta charset=utf-8 />
 <title>js 检测数据特殊数字 算法题 xinbiancheng.cn</title>
</head>
<body>
</body>
<script type="text/javascript">
 function ConsecutiveCharacters(Row,Column,arr){
   /*
   ConsecutiveCharacters 函数判断从第一位置开始有多少个连续列的特殊字符
   第一个参数代表 行
   第二个参数代表 列
   第三个参数代表 数组
   */
   let count=0;
   var barrel = new Array(Column)
   for(let i=0;i<Column;i++)
   {
    for(let j=0;j<Row;j++)
    {
     if(arr[j][i]==3)
     {
      barrel[i]=1;
     }
    }
   }
   for(var i=0;i<Column;i++){
    if(barrel[i]==1)
    {
     count++;
    }else {
     break;
    }
   }
   return count;
  }
  let arr1=[
  [0,5,7,9,6],
  [2,4,3,2,1],
  [3,4,5,8,1]
  ];
  //第一列有3,第二列没有则整个只计第一列的3
  console.log(ConsecutiveCharacters(3,5,arr1));
  // 打印结果 1
  let arr2=[
  [0,5,7,9,6],
  [2,3,0,3,1],
  [1,4,5,8,1]
  ];
  //第一列没有则整个只计0
  console.log(ConsecutiveCharacters(3,5,arr2));
  // 打印结果 0
  let arr3=[
  [0,5,7,9,6],
  [2,3,0,3,1],
  [3,4,5,8,1]
  ];
  //第一、二列有,第三列没有第四列有,则计第一、二列的3
  console.log(ConsecutiveCharacters(3,5,arr3));
  // 打印结果 2
 </script>
 </html>

a 通过 console.log 打印的结果分别是 1,0,2 符合题目的要求

b 在js中使用 Array 创建动态数组,如果忘记的同学可以参考 JS参考手册