542. 01 Matrix
来源:互联网 发布:长虹大数据公司 编辑:程序博客网 时间:2024/06/13 03:50
Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell.
The distance between two adjacent cells is 1.Example 1:
Input:
0 0 00 1 00 0 0Output:
0 0 00 1 00 0 0
Example 2:
Input:
0 0 00 1 01 1 1Output:
0 0 00 1 01 2 1
public class Solution { public List<List<Integer>> updateMatrix(List<List<Integer>> matrix) { int m = matrix.size(); if (m == 0) return matrix; int n = matrix.get(0).size(); if (n == 0) return matrix; Queue<int[]> queue = new LinkedList<>(); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (matrix.get(i).get(j) == 0) { queue.offer(new int[] {i, j}); } else { matrix.get(i).set(j, Integer.MAX_VALUE); } } } int[][] dirs = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; while (!queue.isEmpty()) { int[] cell = queue.poll(); for (int[] d : dirs) { int r = cell[0] + d[0]; int c = cell[1] + d[1]; if (r < 0 || r >= m || c < 0 || c >= n || matrix.get(r).get(c) <= matrix.get(cell[0]).get(cell[1]) + 1) continue; queue.add(new int[] {r, c}); matrix.get(r).set(c, matrix.get(cell[0]).get(cell[1]) + 1); } } return matrix; }}
0 0
- 542. 01 Matrix
- Leetcode-542. 01 Matrix
- 542. 01 Matrix
- [LeetCode]542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix
- leetcode 542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix 题解
- [leetcode]542. 01 Matrix
- 【LeetCode】542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix [LeetCode]
- [LeetCode] 542. 01 Matrix
- leetcode 542. 01 Matrix
- 【最详细、亲测】Myeclipse-2016-windows破解以及汉化教程
- [勇者闯LeetCode] 11. Container With Most Water
- 第二十三讲项目五 我的加班费
- XML转换成字符串格式
- js原生dom操作
- 542. 01 Matrix
- 利用Access-Control-Allow-Origin响应头解决跨域请求
- spring boot mail 踩坑
- UITextField的那点事
- uva 100 The 3n + 1 problem
- 转接IC SJXX串口扩展芯片
- 转载: Python--详解Python中re.sub 作者:Mrzhoug
- 利用synchronized解决哲学家问题
- 1007(数组,时间超限)