求找出边界为1的最大子方阵的伪代码(运用上下左右的思想,同时定义个行列指针进行移动)

max(A,N)
   int n=N;
   while(n>0)
     for(i=0 i<n;i++)
       for(j=0 j<n;j++) //三层循环
          //i,j是顶点
          r = i;//定义个行移动量
          c = j; //定义个列移动量
        
          //上面一条边逻辑
          while(c<j+n)
             if A[r][c]==0 continue l3;
             c++;
          c-- //退出后c指针恢复到边界值
          //右边的逻辑
          while(r<i+n)
             if A[r][c]==0 continue l3;
             r++;
          r--
          //下边逻辑
         while(c>=j)
            if A[r][c]==0 continue l3;
            c--;
         c++;
         while(r>=i)
            if A[r][c]==0 continue l3;
            r--;
         r++;
         return n;
     n--; 
              

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值