Top 150 Interview簡単

太平洋大西洋の水の流れ ---パイセップ--- 「太平洋大西洋水流」問題の詳細なガイドと __PYTERM_0__ の実装。 ---パイセップ--- 太平洋と大西洋に接する m × n 個の長方形の島があります。太平洋は島の左端と上端に接しており、大西洋は島の右端と下端に接しています。 アイランドは正方形のセルのグリッドに分割されます。 m x n の整数行列の高さが与えられます。heights[r][c] は、座標 (r, c) のセルの海面からの高さを表します。 隣接するセルの高さが現在のセルの高さ以下である場合、雨水は隣接するセルに真北、南、東、西に流れることができます。水は、海に隣接する任意のセルからその海に流れることができます。 グリッド座標結果の 2D リストを返します。result[i] = [ri, ci] は、雨水がセル (ri, ci) から太平洋と大西洋の両方に流れる可能性があることを示します。 関数 __PYCODE_0__ を作成します。 ---パイセップ--- トップ150インタビュー ---パイセップ--- グラフ ---パイセップ--- 「太平洋の大西洋の水の流れ」問題は、グラフ セクションの重要な課題です。 ---パイセップ--- この実装は、__PYTERM_0__ の簡単なレベルのロジックに焦点を当てています。 ---パイセップ--- 当社は、提供するソリューションにおいて技術的な正確さとコードの読みやすさを優先します。 ---パイセップ--- アルゴリズム工学 ---パイセップ--- 競技プログラミング ---パイセップ--- 技術的評価 ---パイセップ--- 太平洋大西洋水流のロジック フローを視覚化します。 ---パイセップ--- Pacific Atlantic Water Flow の問題文を注意深く読んでください。 ---パイセップ--- 単純な反復ソリューションの草案を作成します。 ---パイセップ--- 冗長な計算を探します。 ---パイセップ--- プロセスを高速化するには、ハッシュまたはソートを使用します。 ---パイセップ--- 実稼働標準に合わせてコードをクリーンアップします。 ---パイセップ--- 空の入力構造体 ---パイセップ--- 単一要素入力 ---パイセップ--- 大きな数値限界 ---パイセップ--- グラフアプローチのロジックを説明してください。 ---パイセップ--- null または空の入力などの特殊なケースについて説明します。 ---パイセップ--- 標準のグラフの問題プロパティが適用されます。 ---パイセップ--- セットやヒープなどのグラフ固有のデータ構造の使用を検討してください。 ---パイセップ--- 囲まれた地域 ---パイセップ--- 「囲まれた領域」問題の詳細なガイドと __PYTERM_0__ 実装。 ---パイセップ--- 「X」と「O」を含む m x n マトリックス ボードがあるとすると、「X」で 4 方向に囲まれたすべての領域をキャプチャします。 領域は、囲まれた領域内のすべての「O」を「X」に反転することでキャプチャされます。 変更されたボードを返す関数 __PYCODE_0__ を作成します。 ---パイセップ--- トップ150インタビュー ---パイセップ--- グラフ ---パイセップ--- 「囲まれた領域」問題は、グラフ セクションの重要な課題です。 ---パイセップ--- この実装は、__PYTERM_0__ の簡単なレベルのロジックに焦点を当てています。 ---パイセップ--- 当社は、提供するソリューションにおいて技術的な正確さとコードの読みやすさを優先します。 ---パイセップ--- アルゴリズム工学 ---パイセップ--- 競技プログラミング ---パイセップ--- 技術的評価 ---パイセップ--- 囲まれた領域のロジック フローを視覚化します。 ---パイセップ--- 囲まれた領域の問題ステートメントを注意深く読んでください。 ---パイセップ--- 単純な反復ソリューションの草案を作成します。 ---パイセップ--- 冗長な計算を探します。 ---パイセップ--- プロセスを高速化するには、ハッシュまたはソートを使用します。

Detailed guide and Python implementation for the 'Pacific Atlantic Water Flow' problem.

問題提起

簡単

There is an m x n rectangular island that borders both the Pacific Ocean and Atlantic Ocean. The Pacific Ocean touches the island's left and top edges, and the Atlantic Ocean touches the island's right and bottom edges.

The island is partitioned into a grid of square cells. You are given an m x n integer matrix heights where heights[r][c] represents the height above sea level of the cell at coordinate (r, c).

Rain water can flow to neighboring cells directly north, south, east, and west if the neighboring cell's height is less than or equal to the current cell's height. Water can flow from any cell adjacent to an ocean into that ocean.

Return a 2D list of grid coordinates result where result[i] = [ri, ci] denotes that rain water can flow from cell (ri, ci) to both the Pacific and Atlantic oceans.

Write a function pacificAtlantic(heights: List[List[int]]) -> List[List[int]].

制約
  • m == len(heights)
  • n == len(heights[0])
  • 1 <= m, n <= 200
  • 0 <= heights[i][j] <= 10^5

Example 1
Input
heights = [[1,2,2,3,5],[3,2,3,4,4],[2,4,5,3,1],[6,7,1,4,5],[5,1,1,2,4]]
Output
[[0,4],[1,3],[1,4],[2,2],[3,0],[3,1],[4,0]]
Explanation

These coordinates can flow to both Pacific (via top/left) and Atlantic (via bottom/right) oceans.

Example 2
Input
heights = [[1]]
Output
[[0,0]]
Explanation

The single cell borders both oceans directly.

Need a Hint?
Consider using Graphs-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

解決する準備はできましたか?

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

エディタで開く
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

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。