# jeantimex/javascript-problems-and-solutions

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jeantimex-javascript-problems-and-solutions).**

541 stars · 156 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/jeantimex/javascript-problems-and-solutions
- awesome-repositories: https://awesome-repositories.com/repository/jeantimex-javascript-problems-and-solutions.md

## Topics

`algorithms` `es6` `javascript` `problem-solving`

## Description

The repository provides a collection of solved algorithmic challenges and data structure implementations written in JavaScript, designed for technical interview preparation and computer science study. The content is organized as a curriculum covering standard programming problems without external dependencies.

The material encompasses fundamental computer science data structures such as trees, heaps, tries, linked lists, and custom collections, alongside classical algorithms addressing arrays, strings, matrices, and graphs. Implementations also cover specialized algorithmic techniques including backtracking, divide and conquer, dynamic programming, priority queues, and recursive traversals.

## Tags

### Education & Learning Resources

- [Data Structures and Algorithms](https://awesome-repositories.com/f/education-learning-resources/javascript-skill-building/foundational-javascript-programs/data-structures-and-algorithms.md) — Implements foundational data structures and classical algorithms in JavaScript for computer science education.
- [Algorithm Practice Collections](https://awesome-repositories.com/f/education-learning-resources/algorithm-practice-collections.md) — Provides a comprehensive collection of algorithmic problems and solutions implemented in plain JavaScript for study and practice.
- [Depth-First Search Implementations](https://awesome-repositories.com/f/education-learning-resources/depth-first-search-implementations.md) — Explores deep into graph and tree branches recursively to visit all reachable nodes in order. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Divide And Conquer Algorithms](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/algorithmic-paradigms/divide-and-conquer-algorithms.md) — Breaks complex problems into smaller subproblems, solves them independently, and combines their results efficiently. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Breadth-First Search](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/data-ordering-and-retrieval/breadth-first-search.md) — Explores graph and grid nodes level by level to find shortest paths and connected components. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Graph Problem Solving](https://awesome-repositories.com/f/education-learning-resources/graph-problem-solving.md) — Provides solved programming problems and algorithms covering arrays, strings, matrices, trees, graphs, and dynamic programming. ([source](https://github.com/jeantimex/javascript-problems-and-solutions#readme))
- [Algorithmic Problem Solving](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/algorithmic-problem-solving.md) — Provides a comprehensive curriculum of solved programming challenges for technical interview preparation.
- [Coding Interview Preparation](https://awesome-repositories.com/f/education-learning-resources/coding-interview-preparation.md) — Offers structured programming challenges and study materials designed to prepare developers for technical coding interviews.
- [Custom Data Structure Implementations](https://awesome-repositories.com/f/education-learning-resources/data-structure-design/custom-data-structure-implementations.md) — Implements specialized data collections with custom constraints and performance guarantees.
- [String Processing Algorithms](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/string-processing-algorithms.md) — Implements standard pattern matching and text manipulation algorithms to solve character sequence challenges. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Greedy Algorithms](https://awesome-repositories.com/f/education-learning-resources/greedy-algorithms.md) — Finds global optimum solutions by making locally optimal choices at each stage of a problem. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [String Number Adders](https://awesome-repositories.com/f/education-learning-resources/string-number-adders.md) — Multiplies large numbers represented as strings by processing individual digits without direct numerical conversion. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/src/string/multiply-strings))
- [Tries](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/computer-science-concepts/tries.md) — Stores and retrieves string keys efficiently by sharing common prefixes in a tree format. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Tree Data Structures](https://awesome-repositories.com/f/education-learning-resources/tree-data-structures.md) — Navigates and searches hierarchical binary tree structures efficiently. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))

### Scientific & Mathematical Computing

- [Data Structure Implementations](https://awesome-repositories.com/f/scientific-mathematical-computing/data-structure-implementations.md) — Implements core data structures including heaps, tries, linked lists, and trees from scratch. ([source](https://github.com/jeantimex/javascript-problems-and-solutions#readme))
- [Mathematical Computing Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/mathematical-computing-libraries.md) — Computes prime numbers, number sequences, bitwise operations, and geometric calculations using programmatic logic. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Binary Search Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/binary-search-algorithms.md) — Locates target values within sorted datasets efficiently by repeatedly dividing the search space in half. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Dynamic Programming](https://awesome-repositories.com/f/scientific-mathematical-computing/dynamic-programming.md) — Breaks complex optimization challenges into overlapping subproblems and caches results to find optimal solutions. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Array Processing](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/high-performance-and-parallel-computing/high-performance-computing/array-processing.md) — Provides efficient array processing algorithms for searching, sorting, and transforming sequential numerical data. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Sorting and Searching Implementations](https://awesome-repositories.com/f/scientific-mathematical-computing/sorting-and-searching-implementations.md) — Demonstrates standard sorting routines and binary search variations for studying computer science. ([source](https://github.com/jeantimex/javascript-problems-and-solutions#readme))
- [Binary Indexed Trees](https://awesome-repositories.com/f/scientific-mathematical-computing/binary-indexed-trees.md) — Performs efficient range sum queries and element updates in logarithmic time using Fenwick tree structures. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Binary Search on Answer Space](https://awesome-repositories.com/f/scientific-mathematical-computing/binary-search-on-answer-space.md) — Applies binary search techniques over numerical ranges to locate optimal solution thresholds efficiently.
- [Area and Perimeter Calculations](https://awesome-repositories.com/f/scientific-mathematical-computing/computational-geometry-algorithms/scanning-line-algorithms/area-and-perimeter-calculations.md) — Computes the total boundary length of a single landmass inside a two-dimensional grid by evaluating connected land cells. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/src/matrix/island-perimeter))
- [Geometric Skyline Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/geometric-skyline-algorithms.md) — Calculates the combined outer contour silhouette of multiple overlapping rectangular buildings using their given coordinates and heights. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/src/divide-and-conquer/the-skyline-problem))
- [Graph Analysis Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/graph-analysis-algorithms.md) — Resolves connectivity, shortest path, and cycle detection problems across directed and undirected network graphs efficiently. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Matrix Pattern Traversal Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/matrix-pattern-traversal-algorithms.md) — Performs matrix rotations, traversals, and pathfinding operations across grid-based data structures efficiently. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Greedy](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/algorithms/greedy.md) — Makes locally optimal choices at each algorithmic stage to achieve global optimum solutions.
- [Geometric Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/computational-geometry/geometric-algorithms.md) — Calculates the maximum possible area formed by any combination of three coordinate points from a given set on a plane. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/src/math/largest-triangle-area))
- [Recursive Tree Traversal Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/recursive-tree-traversal-algorithms.md) — Systematically navigates hierarchical node structures using recursive function calls.
- [Trapped Water Calculations](https://awesome-repositories.com/f/scientific-mathematical-computing/trapped-water-calculations.md) — Calculates the total volume of water retained inside a two-dimensional elevation map represented by a matrix of cell heights. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/src/bfs/trapping-rain-water))

### Software Engineering & Architecture

- [Backtracking Algorithms](https://awesome-repositories.com/f/software-engineering-architecture/backtracking-algorithms.md) — Explores decision spaces recursively and prunes invalid paths to find all possible solution combinations. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Sorting Algorithms](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms.md) — Orders elements in collections using fundamental sorting techniques like merge sort, quicksort, and heapsort. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Backtracking Solutions](https://awesome-repositories.com/f/software-engineering-architecture/algorithmic-problem-solving/backtracking-solutions.md) — Explores solution spaces recursively and prunes invalid states to generate combinations and permutations.
- [Dynamic Programming Techniques](https://awesome-repositories.com/f/software-engineering-architecture/dynamic-programming-techniques.md) — Solves optimization problems by breaking them into overlapping subproblems and caching intermediate values.
- [Linked List Reversals](https://awesome-repositories.com/f/software-engineering-architecture/linked-lists/linked-list-sorting-algorithms/linked-list-reversals.md) — Performs pointer manipulation operations including node insertions, deletions, reversals, and cycle detections. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Priority Heaps](https://awesome-repositories.com/f/software-engineering-architecture/priority-heaps.md) — Maintains priority-ordered collections using complete binary tree heap structures. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
- [Priority Queues](https://awesome-repositories.com/f/software-engineering-architecture/queue-implementations/priority-queues.md) — Maintains dynamically ordered data streams to retrieve extreme priority elements efficiently.
- [Random Sampling](https://awesome-repositories.com/f/software-engineering-architecture/randomized-selection-algorithms/randomized-data-retrieval/random-sampling.md) — Pulls uniform random samples from data streams or arrays of unknown or large sizes efficiently. ([source](https://github.com/jeantimex/javascript-problems-and-solutions/blob/master/README.md))
