From f5f31ba1c300eebcd070a720069a1235a85ac45d Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Mon, 21 Sep 2026 18:05:30 -0400 Subject: [PATCH] docs(docs): remove array order meta and add solution implementation for Pacific Atlantic Water Flow --- apps/docs/content/array/meta.ts | 2 +- .../417-pacific-atlantic-water-flow.mdx | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/apps/docs/content/array/meta.ts b/apps/docs/content/array/meta.ts index bacb76c..29af647 100644 --- a/apps/docs/content/array/meta.ts +++ b/apps/docs/content/array/meta.ts @@ -1,3 +1,3 @@ import { defineMeta } from "blume"; -export default defineMeta({ title: "Array", order: 0 }); +export default defineMeta({ title: "Array" }); diff --git a/apps/docs/content/graph-dfs/417-pacific-atlantic-water-flow.mdx b/apps/docs/content/graph-dfs/417-pacific-atlantic-water-flow.mdx index e5e894c..b90cb03 100644 --- a/apps/docs/content/graph-dfs/417-pacific-atlantic-water-flow.mdx +++ b/apps/docs/content/graph-dfs/417-pacific-atlantic-water-flow.mdx @@ -30,4 +30,38 @@ sidebar: ```py class Solution: def pacificAtlantic(self, heights: list[list[int]]) -> list[list[int]]: + rows, cols = len(heights), len(heights[0]) + pac, atl = set(), set() + + def dfs(r, c, seen, prevHeight): + if ( + (r, c) in seen + or r < 0 + or c < 0 + or r == rows + or c == cols + or heights[r][c] < prevHeight + ): + return + seen.add((r, c)) + dfs(r + 1, c, seen, heights[r][c]) + dfs(r - 1, c, seen, heights[r][c]) + dfs(r, c + 1, seen, heights[r][c]) + dfs(r, c - 1, seen, heights[r][c]) + + for c in range(cols): + dfs(0, c, pac, heights[0][c]) + dfs(rows - 1, c, atl, heights[rows - 1][c]) + + for r in range(rows): + dfs(r, 0, pac, heights[r][0]) + dfs(r, cols - 1, atl, heights[r][cols - 1]) + + res = [] + for r in range(rows): + for c in range(cols): + if (r, c) in pac and (r, c) in atl: + res.append([r, c]) + + return res ```