当前位置:网站首页>LeetCode每日一题(1162. As Far from Land as Possible)
LeetCode每日一题(1162. As Far from Land as Possible)
2022-07-03 09:01:00 【wangjun861205】
Given an n x n grid containing only values 0 and 1, where 0 represents water and 1 represents land, find a water cell such that its distance to the nearest land cell is maximized, and return the distance. If no land or water exists in the grid, return -1.
The distance used in this problem is the Manhattan distance: the distance between two cells (x0, y0) and (x1, y1) is |x0 - x1| + |y0 - y1|.
Example 1:

Input: grid = [[1,0,1],[0,0,0],[1,0,1]]
Output: 2
Explanation: The cell (1, 1) is as far as possible from all the land with distance 2.
Example 2:

Input: grid = [[1,0,0],[0,0,0],[0,0,0]]
Output: 4
Explanation: The cell (2, 2) is as far as possible from all the land with distance 4.
Constraints:
n == grid.length
n == grid[i].length
1 <= n <= 100
grid[i][j] is 0 or 1
impl Solution {
pub fn max_distance(mut grid: Vec<Vec<i32>>) -> i32 {
for i in 0..grid.len() {
for j in 0..grid[0].len() {
if grid[i][j] == 0 {
grid[i][j] = i32::MAX;
continue;
}
grid[i][j] = 0;
}
}
loop {
let mut modified = false;
for i in 0..grid.len() {
for j in 0..grid[0].len() {
let top = if i > 0 {
grid[i - 1][j] } else {
i32::MAX };
let bottom = if i < grid.len() - 1 {
grid[i + 1][j]
} else {
i32::MAX
};
let left = if j > 0 {
grid[i][j - 1] } else {
i32::MAX };
let right = if j < grid[0].len() - 1 {
grid[i][j + 1]
} else {
i32::MAX
};
let base = top.min(bottom).min(left).min(right);
if base == i32::MAX {
continue;
}
if grid[i][j] > base + 1 {
grid[i][j] = base + 1;
modified = true;
}
}
}
if !modified {
break;
}
}
let ans = grid
.into_iter()
.map(|row| row.into_iter().max().unwrap())
.max()
.unwrap();
if ans == 0 || ans == i32::MAX {
return -1;
}
ans
}
}
边栏推荐
- Basic knowledge of network security
- 【点云处理之论文狂读前沿版13】—— GAPNet: Graph Attention based Point Neural Network for Exploiting Local Feature
- Data mining 2021-4-27 class notes
- [point cloud processing paper crazy reading frontier version 10] - mvtn: multi view transformation network for 3D shape recognition
- AcWing 786. Number k
- [point cloud processing paper crazy reading classic version 10] - pointcnn: revolution on x-transformed points
- 【点云处理之论文狂读经典版12】—— FoldingNet: Point Cloud Auto-encoder via Deep Grid Deformation
- On February 14, 2022, learn the imitation Niuke project - develop the registration function
- Word segmentation in full-text indexing
- IDEA 中使用 Hudi
猜你喜欢

AcWing 787. Merge sort (template)

Hudi integrated spark data analysis example (including code flow and test results)

Pic16f648a-e/ss PIC16 8-bit microcontroller, 7KB (4kx14)

LeetCode 513. Find the value in the lower left corner of the tree

LeetCode 1089. Duplicate zero

Solve POM in idea Comment top line problem in XML file

Data mining 2021-4-27 class notes
![[point cloud processing paper crazy reading frontier edition 13] - gapnet: graph attention based point neural network for exploring local feature](/img/66/2e7668cfed1ef4ddad26deed44a33a.png)
[point cloud processing paper crazy reading frontier edition 13] - gapnet: graph attention based point neural network for exploring local feature

Using Hudi in idea

Recommend a low code open source project of yyds
随机推荐
State compression DP acwing 91 Shortest Hamilton path
Windows安装Redis详细步骤
Build a solo blog from scratch
Hudi 集成 Spark 数据分析示例(含代码流程与测试结果)
Crawler career from scratch (V): detailed explanation of re regular expression
【点云处理之论文狂读前沿版12】—— Adaptive Graph Convolution for Point Cloud Analysis
2022-2-14 learning the imitation Niuke project - send email
Save the drama shortage, programmers' favorite high-score American drama TOP10
Crawler career from scratch (II): crawl the photos of my little sister ② (the website has been disabled)
Solve POM in idea Comment top line problem in XML file
Pic16f648a-e/ss PIC16 8-bit microcontroller, 7KB (4kx14)
In the digital transformation, what problems will occur in enterprise equipment management? Jnpf may be the "optimal solution"
IDEA 中使用 Hudi
AcWing 786. Number k
Internet Protocol learning record
Use the interface colmap interface of openmvs to generate the pose file required by openmvs mvs
Introduction to the basic application and skills of QT
LeetCode 715. Range module
PowerDesigner does not display table fields, only displays table names and references, which can be modified synchronously
Liteide is easy to use