Phỏng vấn top 150Dễ dàng

Bơi trong nước dâng

Hướng dẫn chi tiết và cách thực hiện Python cho bài toán 'Bơi trong nước dâng'.

Tuyên bố vấn đề

Dễ dàng

Bạn được cung cấp một lưới ma trận số nguyên n x n trong đó mỗi giá trị Grid[i][j] biểu thị độ cao tại điểm đó (i, j). Mưa bắt đầu rơi. Tại thời điểm t, độ sâu của nước ở mọi nơi là t. Bạn có thể bơi từ một hình vuông đến một hình vuông liền kề 4 hướng khác khi và chỉ khi cả hai độ cao trong các hình vuông lớn nhất là t.

Bạn bắt đầu ở ô vuông trên cùng bên trái (0, 0). Thời gian ít nhất cho đến khi bạn có thể chạm tới ô vuông phía dưới bên phải (n-1, n-1) là bao nhiêu?

Viết hàm swimInWater(grid: List[List[int]]) -> int.

Ràng buộc
  • n == len(grid) == len(grid[i])
  • 1 <= n <= 50
  • 0 <= grid[i][j] < n^2
  • Each value grid[i][j] is unique

Ví dụ

Example 1
Input
grid = [[0,2],[1,3]]
Output
3
Explanation

At time 3, you are permitted to swim all the way from (0,0) to (1,1). The path is 0 -> 1 -> 3.

Example 2
Input
grid = [[0,1,2,3,4],[24,23,22,21,5],[12,13,14,15,16],[11,17,18,19,20],[10,9,8,7,6]]
Output
16
Explanation

The final path is 0-1-2-3-4-5-16-15-14-13-12-11-10-9-8-7-6. The maximum height along this path is 16.

Need a Hint?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho Đồ thị nâng cao như tập hợp hoặc vùng heap.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Mở trong Trình chỉnh sửa
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.