Java实现 LeetCode 764 最大加号标志(暴力递推).docx

上传人:Lun****ng 文档编号:143863450 上传时间:2020-09-02 格式:DOCX 页数:3 大小:11.29KB
返回 下载 相关 举报
Java实现 LeetCode 764 最大加号标志(暴力递推).docx_第1页
第1页 / 共3页
Java实现 LeetCode 764 最大加号标志(暴力递推).docx_第2页
第2页 / 共3页
Java实现 LeetCode 764 最大加号标志(暴力递推).docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《Java实现 LeetCode 764 最大加号标志(暴力递推).docx》由会员分享,可在线阅读,更多相关《Java实现 LeetCode 764 最大加号标志(暴力递推).docx(3页珍藏版)》请在金锄头文库上搜索。

1、Java实现 LeetCode 764 最大加号标志(暴力递推)764. 最大加号标志在一个大小在 (0, 0) 到 (N-1, N-1) 的2D网格 grid 中,除了在 mines 中给出的单元为 0,其他每个单元都是 1。网格中包含 1 的最大的轴对齐加号标志是多少阶?返回加号标志的阶数。如果未找到加号标志,则返回 0。一个 k 阶由 1 组成的“轴对称”加号标志具有中心网格 gridxy = 1 ,以及4个从中心向上、向下、向左、向右延伸,长度为 k-1,由 1 组成的臂。下面给出 k 阶“轴对称”加号标志的示例。注意,只有加号标志的所有网格要求为 1,别的网格可能为 0 也可能为 1

2、。k 阶轴对称加号标志示例:阶 1:000010000阶 2:0000000100011100010000000阶 3:0000000000100000010000111110000100000010000000000示例 1:输入: N = 5, mines = 4, 2输出: 2解释:1111111111111111111111011在上面的网格中,最大加号标志的阶只能是2。一个标志已在图中标出。示例 2:输入: N = 2, mines = 输出: 1解释:1111没有 2 阶加号标志,有 1 阶加号标志。示例 3:输入: N = 1, mines = 0, 0输出: 0解释:0没有加号

3、标志,返回 0 。提示:整数N 的范围: 1, 500.mines 的最大长度为 5000.minesi 是长度为2的由2个 0, N-1 中的数组成.(另外,使用 C, C+, 或者 C# 编程将以稍小的时间限制进行判断.)class Solution public int orderOfLargestPlusSign(int N, int mines) if (N=0)return 0; int max_k=0; /填充一个2D网格matrix出来 int matrix = new intNN; for (int i=0;iN;i+) Arrays.fill(matrixi,1); int

4、 m = mines.length; for (int i=0;im;i+) matrixminesi0minesi1=0; int dp = new intNN; int count = 0; /初始化 /求左、右 for (int i=0;iright count = 0; for (int j=0;jleft count = 0; for (int j=N-1;j=0;j-) count = matrixij=1?count+1:0; dpij=Math.min(dpij,count); /求上、下 for (int j=0;jdown count = 0; for (int i=0;iup /此时的整个dp数组中的最大值就是所求的k count = 0; for (int i=N-1;i=0;i-) count = matrixij=1?count+1:0; dpij=Math.min(dpij,count); max_k=Math.max(max_k,dpij); return max_k;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号