zoukankan      html  css  js  c++  java
  • 二维数组上下左右连续几个1

    输入:一个二维数组,每一个元素为0或者1

    输出:最多有多少个1是连续的

    连续的定义:上下左右相邻

     

    直接贴代码:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    		
    		<script>
    			const arr = [
    					[1, 0, 1, 1, 0],
    					[1, 0, 0],
    					[0, 0, 1, 0, 1],
    					[1, 0, 1, 0, 1],
    					[1, 0, 1, 1],
    				  ];
    				  
    			  function getNumber(arr, i, j){
    				let num = 1; 
    				arr[i][j] = 0;
    				if(arr[i-1]&& arr[i-1][j]){  //上边
    					num += getNumber(arr,i - 1, j);
    				}
    				
    				if(arr[i+1]&& arr[i+1][j]){  //下边
    					num += getNumber(arr,i + 1, j);
    				}
    				
    				if(arr[i][j-1]){   //左边
    					num += getNumber(arr,i, j - 1);
    				}
    				
    				if(arr[i][j+1]){   //右边
    					num += getNumber(arr,i, j + 1 );
    				}
    				return num
    			  }
    				function getMax(arr){
    					let max = 0
    					for(let i =0 ;i<arr.length;i++){
    						for(let j = 0; j< arr[i].length; j++){
    							const ele = arr[i][j]
    							if(ele === 1){
    								const cur = getNumber(arr, i,j)
    								cur > max  && (max = cur) 
    							}
    						}
    					}
    					return max
    				}
    			
    				const start = window.performance.now()
    				console.log(getMax(arr))
    				console.log('用时:',window.performance.now() - start)
    		</script>
    	</body>
    </html>
    

      

     

  • 相关阅读:
    关于IOS6屏幕旋转的问题
    学习备忘录
    关于多种手势问题
    关于 IOS中 绘制图形的问题
    爱的意义
    IOS支付SDK
    IOS开发特别备注
    ios相关教程
    iOS7光标问题
    收藏网站
  • 原文地址:https://www.cnblogs.com/aloneindefeat/p/13564895.html
Copyright © 2011-2022 走看看