# unstoppableforce96/lc-codes architecture

> Architecture diagram of the GitHub repository unstoppableforce96/lc-codes, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/unstoppableforce96/lc-codes
- Repository: https://github.com/unstoppableforce96/lc-codes

## Overview

This repository is a collection of independent LeetCode solutions, not a single application. The principal workflow is that an online judge supplies a problem’s inputs, invokes that submission’s function or data-structure class, and receives its result. The sampled files show standalone algorithms and no shared runtime or calls between solutions; the README is empty, so the graph groups representative problems by domain rather than implying a common execution pipeline.

Main entry points: [`1445-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.py`](https://github.com/unstoppableforce96/lc-codes/blob/main/1445-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.py) (Window average), [`643-maximum-average-subarray-i/maximum-average-subarray-i.java`](https://github.com/unstoppableforce96/lc-codes/blob/main/643-maximum-average-subarray-i/maximum-average-subarray-i.java) (Maximum average), [`239-sliding-window-maximum/sliding-window-maximum.py`](https://github.com/unstoppableforce96/lc-codes/blob/main/239-sliding-window-maximum/sliding-window-maximum.py) (Sliding maximum), [`11-container-with-most-water/container-with-most-water.py`](https://github.com/unstoppableforce96/lc-codes/blob/main/11-container-with-most-water/container-with-most-water.py) (Container water)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_arrays["Arrays and Windows"]
  node_window_avg["Window average"]
  node_max_average["Maximum average"]
  node_sliding_max["Sliding maximum"]
  node_water["Container water"]
end

subgraph group_prefix["Prefix and Search"]
  node_prefix_array["Range sum"]
  node_prefix_matrix["Region sum"]
  node_subarray_sum["Subarray sum"]
  node_binary_search["Binary search<br/>[binary-search.java]"]
  node_rotated_min["Rotated minimum"]
end

subgraph group_strings["Strings"]
  node_anagrams["Find anagrams"]
  node_longest_substring["Unique substring"]
  node_parentheses["Valid parentheses"]
end

subgraph group_structures["Data Structures"]
  node_merge_lists["Merge lists"]
  node_min_stack["Min stack<br/>[min-stack.py]"]
  node_recent_calls["Recent calls"]
  node_hashmap["Design hashmap<br/>[design-hashmap.py]"]
end

node_judge(("Online judge"))

node_judge -->|"invokes"| node_window_avg
node_judge -->|"invokes"| node_max_average
node_judge -->|"invokes"| node_sliding_max
node_judge -->|"invokes"| node_water
node_judge -->|"invokes"| node_prefix_array
node_judge -->|"invokes"| node_prefix_matrix
node_judge -->|"invokes"| node_subarray_sum
node_judge -->|"invokes"| node_binary_search
node_judge -->|"invokes"| node_rotated_min
node_judge -->|"invokes"| node_anagrams
node_judge -->|"invokes"| node_longest_substring
node_judge -->|"invokes"| node_parentheses
node_judge -->|"invokes"| node_merge_lists
node_judge -->|"invokes"| node_min_stack
node_judge -->|"invokes"| node_recent_calls
node_judge -->|"invokes"| node_hashmap
node_window_avg -->|"returns result"| node_judge
node_max_average -->|"returns result"| node_judge
node_sliding_max -->|"returns result"| node_judge
node_water -->|"returns result"| node_judge
node_prefix_array -->|"returns result"| node_judge
node_prefix_matrix -->|"returns result"| node_judge
node_subarray_sum -->|"returns result"| node_judge
node_binary_search -->|"returns result"| node_judge
node_rotated_min -->|"returns result"| node_judge
node_anagrams -->|"returns result"| node_judge
node_longest_substring -->|"returns result"| node_judge
node_parentheses -->|"returns result"| node_judge
node_merge_lists -->|"returns result"| node_judge
node_min_stack -->|"returns result"| node_judge
node_recent_calls -->|"returns result"| node_judge
node_hashmap -->|"returns result"| node_judge

click node_window_avg "https://github.com/unstoppableforce96/lc-codes/blob/main/1445-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.py"
click node_max_average "https://github.com/unstoppableforce96/lc-codes/blob/main/643-maximum-average-subarray-i/maximum-average-subarray-i.java"
click node_sliding_max "https://github.com/unstoppableforce96/lc-codes/blob/main/239-sliding-window-maximum/sliding-window-maximum.py"
click node_water "https://github.com/unstoppableforce96/lc-codes/blob/main/11-container-with-most-water/container-with-most-water.py"
click node_prefix_array "https://github.com/unstoppableforce96/lc-codes/blob/main/303-range-sum-query-immutable/range-sum-query-immutable.py"
click node_prefix_matrix "https://github.com/unstoppableforce96/lc-codes/blob/main/304-range-sum-query-2d-immutable/range-sum-query-2d-immutable.java"
click node_subarray_sum "https://github.com/unstoppableforce96/lc-codes/blob/main/560-subarray-sum-equals-k/subarray-sum-equals-k.py"
click node_binary_search "https://github.com/unstoppableforce96/lc-codes/blob/main/792-binary-search/binary-search.java"
click node_rotated_min "https://github.com/unstoppableforce96/lc-codes/blob/main/153-find-minimum-in-rotated-sorted-array/find-minimum-in-rotated-sorted-array.py"
click node_anagrams "https://github.com/unstoppableforce96/lc-codes/blob/main/438-find-all-anagrams-in-a-string/find-all-anagrams-in-a-string.java"
click node_longest_substring "https://github.com/unstoppableforce96/lc-codes/blob/main/3-longest-substring-without-repeating-characters/longest-substring-without-repeating-characters.py"
click node_parentheses "https://github.com/unstoppableforce96/lc-codes/blob/main/20-valid-parentheses/valid-parentheses.py"
click node_merge_lists "https://github.com/unstoppableforce96/lc-codes/blob/main/0021-merge-two-sorted-lists/0021-merge-two-sorted-lists.c"
click node_min_stack "https://github.com/unstoppableforce96/lc-codes/blob/main/155-min-stack/min-stack.py"
click node_recent_calls "https://github.com/unstoppableforce96/lc-codes/blob/main/0933-number-of-recent-calls/0933-number-of-recent-calls.py"
click node_hashmap "https://github.com/unstoppableforce96/lc-codes/blob/main/817-design-hashmap/design-hashmap.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_window_avg,node_max_average,node_sliding_max,node_water toneBlue
class node_prefix_array,node_prefix_matrix,node_subarray_sum,node_binary_search,node_rotated_min toneAmber
class node_anagrams,node_longest_substring,node_parentheses toneMint
class node_merge_lists,node_min_stack,node_recent_calls,node_hashmap toneRose
class node_judge toneIndigo
```

## Components

### Arrays and Windows

- [Window average](https://github.com/unstoppableforce96/lc-codes/blob/main/1445-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.py): `1445-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.py`
- [Maximum average](https://github.com/unstoppableforce96/lc-codes/blob/main/643-maximum-average-subarray-i/maximum-average-subarray-i.java): `643-maximum-average-subarray-i/maximum-average-subarray-i.java`
- [Sliding maximum](https://github.com/unstoppableforce96/lc-codes/blob/main/239-sliding-window-maximum/sliding-window-maximum.py): `239-sliding-window-maximum/sliding-window-maximum.py`
- [Container water](https://github.com/unstoppableforce96/lc-codes/blob/main/11-container-with-most-water/container-with-most-water.py): `11-container-with-most-water/container-with-most-water.py`

### Prefix and Search

- [Range sum](https://github.com/unstoppableforce96/lc-codes/blob/main/303-range-sum-query-immutable/range-sum-query-immutable.py): `303-range-sum-query-immutable/range-sum-query-immutable.py`
- [Region sum](https://github.com/unstoppableforce96/lc-codes/blob/main/304-range-sum-query-2d-immutable/range-sum-query-2d-immutable.java): `304-range-sum-query-2d-immutable/range-sum-query-2d-immutable.java`
- [Subarray sum](https://github.com/unstoppableforce96/lc-codes/blob/main/560-subarray-sum-equals-k/subarray-sum-equals-k.py): `560-subarray-sum-equals-k/subarray-sum-equals-k.py`
- [Binary search](https://github.com/unstoppableforce96/lc-codes/blob/main/792-binary-search/binary-search.java): `792-binary-search/binary-search.java`
- [Rotated minimum](https://github.com/unstoppableforce96/lc-codes/blob/main/153-find-minimum-in-rotated-sorted-array/find-minimum-in-rotated-sorted-array.py): `153-find-minimum-in-rotated-sorted-array/find-minimum-in-rotated-sorted-array.py`

### Strings

- [Find anagrams](https://github.com/unstoppableforce96/lc-codes/blob/main/438-find-all-anagrams-in-a-string/find-all-anagrams-in-a-string.java): `438-find-all-anagrams-in-a-string/find-all-anagrams-in-a-string.java`
- [Unique substring](https://github.com/unstoppableforce96/lc-codes/blob/main/3-longest-substring-without-repeating-characters/longest-substring-without-repeating-characters.py): `3-longest-substring-without-repeating-characters/longest-substring-without-repeating-characters.py`
- [Valid parentheses](https://github.com/unstoppableforce96/lc-codes/blob/main/20-valid-parentheses/valid-parentheses.py): `20-valid-parentheses/valid-parentheses.py`

### Data Structures

- [Merge lists](https://github.com/unstoppableforce96/lc-codes/blob/main/0021-merge-two-sorted-lists/0021-merge-two-sorted-lists.c): `0021-merge-two-sorted-lists/0021-merge-two-sorted-lists.c`
- [Min stack](https://github.com/unstoppableforce96/lc-codes/blob/main/155-min-stack/min-stack.py): `155-min-stack/min-stack.py`
- [Recent calls](https://github.com/unstoppableforce96/lc-codes/blob/main/0933-number-of-recent-calls/0933-number-of-recent-calls.py): `0933-number-of-recent-calls/0933-number-of-recent-calls.py`
- [Design hashmap](https://github.com/unstoppableforce96/lc-codes/blob/main/817-design-hashmap/design-hashmap.py): `817-design-hashmap/design-hashmap.py`

### Other components

- **Online judge**

## Connections

- Online judge → Window average: invokes
- Online judge → Maximum average: invokes
- Online judge → Sliding maximum: invokes
- Online judge → Container water: invokes
- Online judge → Range sum: invokes
- Online judge → Region sum: invokes
- Online judge → Subarray sum: invokes
- Online judge → Binary search: invokes
- Online judge → Rotated minimum: invokes
- Online judge → Find anagrams: invokes
- Online judge → Unique substring: invokes
- Online judge → Valid parentheses: invokes
- Online judge → Merge lists: invokes
- Online judge → Min stack: invokes
- Online judge → Recent calls: invokes
- Online judge → Design hashmap: invokes
- Window average → Online judge: returns result
- Maximum average → Online judge: returns result
- Sliding maximum → Online judge: returns result
- Container water → Online judge: returns result
- Range sum → Online judge: returns result
- Region sum → Online judge: returns result
- Subarray sum → Online judge: returns result
- Binary search → Online judge: returns result
- Rotated minimum → Online judge: returns result
- Find anagrams → Online judge: returns result
- Unique substring → Online judge: returns result
- Valid parentheses → Online judge: returns result
- Merge lists → Online judge: returns result
- Min stack → Online judge: returns result
- Recent calls → Online judge: returns result
- Design hashmap → Online judge: returns result
