# anshulmaletha/leetcode architecture

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

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

## Overview

This repository is a collection of independent LeetCode solutions, not a single application. The user-facing workflow is to choose a problem’s solution and use it in the corresponding challenge; each file implements its own algorithm and there is no shared runtime or cross-solution pipeline. The graph groups representative solutions by their algorithmic role. The README documents the collection, while sampled source shows standalone implementations; unsampled solutions are not assumed to share internal dependencies.

Main entry points: [`0033-search-in-rotated-sorted-array/0033-search-in-rotated-sorted-array.cpp`](https://github.com/anshulmaletha/leetcode/blob/main/0033-search-in-rotated-sorted-array/0033-search-in-rotated-sorted-array.cpp) (Search solutions), [`0074-search-a-2d-matrix/0074-search-a-2d-matrix.cpp`](https://github.com/anshulmaletha/leetcode/blob/main/0074-search-a-2d-matrix/0074-search-a-2d-matrix.cpp) (Matrix search), [`1011-capacity-to-ship-packages-within-d-days/1011-capacity-to-ship-packages-within-d-days.cpp`](https://github.com/anshulmaletha/leetcode/blob/main/1011-capacity-to-ship-packages-within-d-days/1011-capacity-to-ship-packages-within-d-days.cpp) (Capacity search), [`1482-minimum-number-of-days-to-make-m-bouquets/1482-minimum-number-of-days-to-make-m-bouquets.cpp`](https://github.com/anshulmaletha/leetcode/blob/main/1482-minimum-number-of-days-to-make-m-bouquets/1482-minimum-number-of-days-to-make-m-bouquets.cpp) (Bouquet scheduling)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_search["Search and Optimization"]
  node_search_solutions["Search solutions"]
  node_matrix_search["Matrix search"]
  node_capacity_search["Capacity search"]
  node_bouquet_search["Bouquet scheduling"]
end

subgraph group_arrays["Array Processing"]
  node_array_algorithms["Array algorithms"]
  node_matrix_traversal["Matrix traversal"]
  node_array_rearrangement["Array rearrangement"]
  node_array_extrema["Array extrema"]
end

subgraph group_strings["String Processing"]
  node_string_algorithms["String algorithms"]
  node_string_stack["Stack parsing"]
  node_rpn_evaluator["RPN evaluation"]
end

subgraph group_numeric["Numeric and Logic"]
  node_numeric_solutions["Numeric solutions"]
  node_bit_solutions["Bit operations"]
  node_interval_solutions["Interval calculations"]
end

node_solver(("LeetCode user"))

node_solver -.->|"selects challenge"| node_search_solutions
node_solver -.->|"selects challenge"| node_matrix_search
node_solver -.->|"selects challenge"| node_capacity_search
node_solver -.->|"selects challenge"| node_bouquet_search
node_solver -.->|"selects challenge"| node_array_algorithms
node_solver -.->|"selects challenge"| node_matrix_traversal
node_solver -.->|"selects challenge"| node_array_rearrangement
node_solver -.->|"selects challenge"| node_array_extrema
node_solver -.->|"selects challenge"| node_string_algorithms
node_solver -.->|"selects challenge"| node_string_stack
node_solver -.->|"selects challenge"| node_rpn_evaluator
node_solver -.->|"selects challenge"| node_numeric_solutions
node_solver -.->|"selects challenge"| node_bit_solutions
node_solver -.->|"selects challenge"| node_interval_solutions

click node_search_solutions "https://github.com/anshulmaletha/leetcode/blob/main/0033-search-in-rotated-sorted-array/0033-search-in-rotated-sorted-array.cpp"
click node_matrix_search "https://github.com/anshulmaletha/leetcode/blob/main/0074-search-a-2d-matrix/0074-search-a-2d-matrix.cpp"
click node_capacity_search "https://github.com/anshulmaletha/leetcode/blob/main/1011-capacity-to-ship-packages-within-d-days/1011-capacity-to-ship-packages-within-d-days.cpp"
click node_bouquet_search "https://github.com/anshulmaletha/leetcode/blob/main/1482-minimum-number-of-days-to-make-m-bouquets/1482-minimum-number-of-days-to-make-m-bouquets.cpp"
click node_array_algorithms "https://github.com/anshulmaletha/leetcode/blob/main/0011-container-with-most-water/0011-container-with-most-water.cpp"
click node_matrix_traversal "https://github.com/anshulmaletha/leetcode/blob/main/0054-spiral-matrix/0054-spiral-matrix.cpp"
click node_array_rearrangement "https://github.com/anshulmaletha/leetcode/blob/main/4065-rearrange-array-by-removing-distinct-values/4065-rearrange-array-by-removing-distinct-values.cpp"
click node_array_extrema "https://github.com/anshulmaletha/leetcode/blob/main/4088-difference-between-peaks-and-valleys/4088-difference-between-peaks-and-valleys.cpp"
click node_string_algorithms "https://github.com/anshulmaletha/leetcode/blob/main/0125-valid-palindrome/0125-valid-palindrome.cpp"
click node_string_stack "https://github.com/anshulmaletha/leetcode/blob/main/0020-valid-parentheses/0020-valid-parentheses.cpp"
click node_rpn_evaluator "https://github.com/anshulmaletha/leetcode/blob/main/0150-evaluate-reverse-polish-notation/0150-evaluate-reverse-polish-notation.cpp"
click node_numeric_solutions "https://github.com/anshulmaletha/leetcode/blob/main/0367-valid-perfect-square/0367-valid-perfect-square.cpp"
click node_bit_solutions "https://github.com/anshulmaletha/leetcode/blob/main/0190-reverse-bits/0190-reverse-bits.cpp"
click node_interval_solutions "https://github.com/anshulmaletha/leetcode/blob/main/0495-teemo-attacking/0495-teemo-attacking.cpp"

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_search_solutions,node_matrix_search,node_capacity_search,node_bouquet_search,node_solver toneBlue
class node_array_algorithms,node_matrix_traversal,node_array_rearrangement,node_array_extrema toneAmber
class node_string_algorithms,node_string_stack,node_rpn_evaluator toneMint
class node_numeric_solutions,node_bit_solutions,node_interval_solutions toneRose
```

## Components

### Search and Optimization

- [Search solutions](https://github.com/anshulmaletha/leetcode/blob/main/0033-search-in-rotated-sorted-array/0033-search-in-rotated-sorted-array.cpp): `0033-search-in-rotated-sorted-array/0033-search-in-rotated-sorted-array.cpp`
- [Matrix search](https://github.com/anshulmaletha/leetcode/blob/main/0074-search-a-2d-matrix/0074-search-a-2d-matrix.cpp): `0074-search-a-2d-matrix/0074-search-a-2d-matrix.cpp`
- [Capacity search](https://github.com/anshulmaletha/leetcode/blob/main/1011-capacity-to-ship-packages-within-d-days/1011-capacity-to-ship-packages-within-d-days.cpp): `1011-capacity-to-ship-packages-within-d-days/1011-capacity-to-ship-packages-within-d-days.cpp`
- [Bouquet scheduling](https://github.com/anshulmaletha/leetcode/blob/main/1482-minimum-number-of-days-to-make-m-bouquets/1482-minimum-number-of-days-to-make-m-bouquets.cpp): `1482-minimum-number-of-days-to-make-m-bouquets/1482-minimum-number-of-days-to-make-m-bouquets.cpp`

### Array Processing

- [Array algorithms](https://github.com/anshulmaletha/leetcode/blob/main/0011-container-with-most-water/0011-container-with-most-water.cpp): `0011-container-with-most-water/0011-container-with-most-water.cpp`
- [Matrix traversal](https://github.com/anshulmaletha/leetcode/blob/main/0054-spiral-matrix/0054-spiral-matrix.cpp): `0054-spiral-matrix/0054-spiral-matrix.cpp`
- [Array rearrangement](https://github.com/anshulmaletha/leetcode/blob/main/4065-rearrange-array-by-removing-distinct-values/4065-rearrange-array-by-removing-distinct-values.cpp): `4065-rearrange-array-by-removing-distinct-values/4065-rearrange-array-by-removing-distinct-values.cpp`
- [Array extrema](https://github.com/anshulmaletha/leetcode/blob/main/4088-difference-between-peaks-and-valleys/4088-difference-between-peaks-and-valleys.cpp): `4088-difference-between-peaks-and-valleys/4088-difference-between-peaks-and-valleys.cpp`

### String Processing

- [String algorithms](https://github.com/anshulmaletha/leetcode/blob/main/0125-valid-palindrome/0125-valid-palindrome.cpp): `0125-valid-palindrome/0125-valid-palindrome.cpp`
- [Stack parsing](https://github.com/anshulmaletha/leetcode/blob/main/0020-valid-parentheses/0020-valid-parentheses.cpp): `0020-valid-parentheses/0020-valid-parentheses.cpp`
- [RPN evaluation](https://github.com/anshulmaletha/leetcode/blob/main/0150-evaluate-reverse-polish-notation/0150-evaluate-reverse-polish-notation.cpp): `0150-evaluate-reverse-polish-notation/0150-evaluate-reverse-polish-notation.cpp`

### Numeric and Logic

- [Numeric solutions](https://github.com/anshulmaletha/leetcode/blob/main/0367-valid-perfect-square/0367-valid-perfect-square.cpp): `0367-valid-perfect-square/0367-valid-perfect-square.cpp`
- [Bit operations](https://github.com/anshulmaletha/leetcode/blob/main/0190-reverse-bits/0190-reverse-bits.cpp): `0190-reverse-bits/0190-reverse-bits.cpp`
- [Interval calculations](https://github.com/anshulmaletha/leetcode/blob/main/0495-teemo-attacking/0495-teemo-attacking.cpp): `0495-teemo-attacking/0495-teemo-attacking.cpp`

### Other components

- **LeetCode user**

## Connections

- LeetCode user → Search solutions: selects challenge
- LeetCode user → Matrix search: selects challenge
- LeetCode user → Capacity search: selects challenge
- LeetCode user → Bouquet scheduling: selects challenge
- LeetCode user → Array algorithms: selects challenge
- LeetCode user → Matrix traversal: selects challenge
- LeetCode user → Array rearrangement: selects challenge
- LeetCode user → Array extrema: selects challenge
- LeetCode user → String algorithms: selects challenge
- LeetCode user → Stack parsing: selects challenge
- LeetCode user → RPN evaluation: selects challenge
- LeetCode user → Numeric solutions: selects challenge
- LeetCode user → Bit operations: selects challenge
- LeetCode user → Interval calculations: selects challenge
