# m2ammar/leetcode architecture

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

- Interactive diagram: https://gitdiagram.com/m2ammar/leetcode
- Repository: https://github.com/m2ammar/leetcode

## Overview

This repository is a personal LeetCode practice collection, not an application with a shared runtime: learners study standalone SQL, Python, and Java solutions organized by study plan or algorithm pattern. The main workflow is choosing a problem area and consulting its solution; the README describes this organization and learning goal. The graph therefore shows the documented study entry points, not execution or calls between solutions. Individual Python solution nodes are shown where sampled; unsampled problem collections are represented by their existing directories.

Main entry points: [`SQL/SQL50`](https://github.com/m2ammar/leetcode/tree/main/SQL/SQL50) (SQL 50), [`SQL/Database`](https://github.com/m2ammar/leetcode/tree/main/SQL/Database) (Database Practice), [`Python/1768_Merge_Strings_Alternately/solution.py`](https://github.com/m2ammar/leetcode/blob/main/Python/1768_Merge_Strings_Alternately/solution.py) (Merge Strings), [`Python/242_Valid_Anagram/solution.py`](https://github.com/m2ammar/leetcode/blob/main/Python/242_Valid_Anagram/solution.py) (Valid Anagram)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_sql["SQL Practice"]
  node_sql50["SQL 50"]
  node_sql_database["Database Practice"]
end

subgraph group_python["Python Practice"]
  node_py_merge["Merge Strings<br/>[solution.py]"]
  node_py_anagram["Valid Anagram<br/>[solution.py]"]
  node_py_search["String Search<br/>[solution.py]"]
  node_py_difference["Find Difference<br/>[solution.py]"]
  node_py_repeat["Repeated Substring<br/>[solution.py]"]
end

subgraph group_java["Java DSA"]
  node_java_binary["Binary Search"]
  node_java_recursion["Recursion"]
  node_java_single["Single Pass"]
  node_java_sorting["Sorting"]
  node_java_pointers["Two Pointers"]
end

node_learner(("Learner"))

node_learner -->|"studies"| node_sql50
node_learner -->|"practices"| node_sql_database
node_learner -->|"studies"| node_py_merge
node_learner -->|"studies"| node_py_anagram
node_learner -->|"studies"| node_py_search
node_learner -->|"studies"| node_py_difference
node_learner -->|"studies"| node_py_repeat
node_learner -->|"practices"| node_java_binary
node_learner -->|"practices"| node_java_recursion
node_learner -->|"practices"| node_java_single
node_learner -->|"practices"| node_java_sorting
node_learner -->|"practices"| node_java_pointers

click node_sql50 "https://github.com/m2ammar/leetcode/tree/main/SQL/SQL50"
click node_sql_database "https://github.com/m2ammar/leetcode/tree/main/SQL/Database"
click node_py_merge "https://github.com/m2ammar/leetcode/blob/main/Python/1768_Merge_Strings_Alternately/solution.py"
click node_py_anagram "https://github.com/m2ammar/leetcode/blob/main/Python/242_Valid_Anagram/solution.py"
click node_py_search "https://github.com/m2ammar/leetcode/blob/main/Python/28-find-the-index-of-the-first-occurrence-in-a-string/solution.py"
click node_py_difference "https://github.com/m2ammar/leetcode/blob/main/Python/389-find-the-difference/solution.py"
click node_py_repeat "https://github.com/m2ammar/leetcode/blob/main/Python/459-repeated-substring-pattern/solution.py"
click node_java_binary "https://github.com/m2ammar/leetcode/tree/main/Java/Binary-Search"
click node_java_recursion "https://github.com/m2ammar/leetcode/tree/main/Java/Recursion"
click node_java_single "https://github.com/m2ammar/leetcode/tree/main/Java/Single-Pass"
click node_java_sorting "https://github.com/m2ammar/leetcode/tree/main/Java/Sorting"
click node_java_pointers "https://github.com/m2ammar/leetcode/tree/main/Java/Two-Pointers"

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_sql50,node_sql_database toneBlue
class node_py_merge,node_py_anagram,node_py_search,node_py_difference,node_py_repeat toneAmber
class node_java_binary,node_java_recursion,node_java_single,node_java_sorting,node_java_pointers toneMint
class node_learner toneIndigo
```

## Components

### SQL Practice

- [SQL 50](https://github.com/m2ammar/leetcode/tree/main/SQL/SQL50): `SQL/SQL50`
- [Database Practice](https://github.com/m2ammar/leetcode/tree/main/SQL/Database): `SQL/Database`

### Python Practice

- [Merge Strings](https://github.com/m2ammar/leetcode/blob/main/Python/1768_Merge_Strings_Alternately/solution.py): `Python/1768_Merge_Strings_Alternately/solution.py`
- [Valid Anagram](https://github.com/m2ammar/leetcode/blob/main/Python/242_Valid_Anagram/solution.py): `Python/242_Valid_Anagram/solution.py`
- [String Search](https://github.com/m2ammar/leetcode/blob/main/Python/28-find-the-index-of-the-first-occurrence-in-a-string/solution.py): `Python/28-find-the-index-of-the-first-occurrence-in-a-string/solution.py`
- [Find Difference](https://github.com/m2ammar/leetcode/blob/main/Python/389-find-the-difference/solution.py): `Python/389-find-the-difference/solution.py`
- [Repeated Substring](https://github.com/m2ammar/leetcode/blob/main/Python/459-repeated-substring-pattern/solution.py): `Python/459-repeated-substring-pattern/solution.py`

### Java DSA

- [Binary Search](https://github.com/m2ammar/leetcode/tree/main/Java/Binary-Search): `Java/Binary-Search`
- [Recursion](https://github.com/m2ammar/leetcode/tree/main/Java/Recursion): `Java/Recursion`
- [Single Pass](https://github.com/m2ammar/leetcode/tree/main/Java/Single-Pass): `Java/Single-Pass`
- [Sorting](https://github.com/m2ammar/leetcode/tree/main/Java/Sorting): `Java/Sorting`
- [Two Pointers](https://github.com/m2ammar/leetcode/tree/main/Java/Two-Pointers): `Java/Two-Pointers`

### Other components

- **Learner**

## Connections

- Learner → SQL 50: studies (evidence: `README.md`)
- Learner → Database Practice: practices (evidence: `README.md`)
- Learner → Merge Strings: studies (evidence: `README.md`)
- Learner → Valid Anagram: studies (evidence: `README.md`)
- Learner → String Search: studies (evidence: `README.md`)
- Learner → Find Difference: studies (evidence: `README.md`)
- Learner → Repeated Substring: studies (evidence: `README.md`)
- Learner → Binary Search: practices (evidence: `README.md`)
- Learner → Recursion: practices (evidence: `README.md`)
- Learner → Single Pass: practices (evidence: `README.md`)
- Learner → Sorting: practices (evidence: `README.md`)
- Learner → Two Pointers: practices (evidence: `README.md`)
