Skip to content

prakashsalapu/java-dsa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

97 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Java DSA Journey πŸš€

A structured Data Structures & Algorithms repository built using Java, focused on mastering coding interviews through Pattern-Based Learning.

This repository documents my journey of learning DSA, solving problems systematically, understanding underlying patterns, and building strong problem-solving skills for Software Development Engineer (SDE) roles.


🎯 Goals

  • Master Data Structures & Algorithms in Java
  • Develop strong problem-solving skills
  • Learn common coding interview patterns
  • Write clean and optimized solutions
  • Prepare for Software Engineering interviews
  • Track progress throughout my DSA journey

🧠 Learning Approach

Instead of only organizing problems by difficulty, this repository follows a Pattern-Based Learning approach.

Every problem is categorized by:

  1. Data Structure / Topic
  2. Problem-Solving Pattern

Examples

Problem Topic Pattern
Two Sum II Arrays Two Pointers
Container With Most Water Arrays Two Pointers
Longest Substring Without Repeating Characters Strings Sliding Window
Linked List Cycle Linked List Fast & Slow Pointers
Reverse Linked List Linked List Reversal
Subarray Sum Equals K Arrays Prefix Sum

This helps build pattern recognition, which is one of the most important skills in technical interviews.


πŸ—‚οΈ Repository Structure

src/
β”œβ”€β”€ a_Foundations
β”‚
β”œβ”€β”€ b_Sorting
β”‚
β”œβ”€β”€ c_Arrays
β”‚   β”œβ”€β”€ a_Traversal
β”‚   β”œβ”€β”€ b_TwoPointers
β”‚   β”œβ”€β”€ c_SlidingWindow
β”‚   β”œβ”€β”€ d_PrefixSum
β”‚   β”œβ”€β”€ e_KadaneAlgorithm
β”‚   └── f_Matrix
β”‚
β”œβ”€β”€ d_Strings
β”‚   β”œβ”€β”€ a_TwoPointers
β”‚   └── b_SlidingWindow
β”‚
└── e_LinkedList
    β”œβ”€β”€ SinglyLinkedList
    β”‚   β”œβ”€β”€ a_BasicOperations
    β”‚   β”œβ”€β”€ b_FastSlowPointers
    β”‚   β”œβ”€β”€ c_Reversal
    β”‚   β”œβ”€β”€ d_TwoPointers
    β”‚   β”œβ”€β”€ e_DummyNode
    β”‚   β”œβ”€β”€ f_MergeOrSort
    β”‚   └── g_HashMapOrStack
    β”‚
    └── DoublyLinkedList
        β”œβ”€β”€ a_BasicOperations
        └── b_Reversal

🧩 Problem-Solving Patterns

This repository focuses heavily on interview patterns such as:

  • Two Pointers
  • Sliding Window
  • Fast & Slow Pointers
  • Prefix Sum
  • Kadane's Algorithm
  • Reversal Pattern
  • Dummy Node Pattern
  • Merge / Sort Pattern
  • HashMap Pattern
  • Stack-Based Pattern

Each pattern folder contains:

  • Pattern Notes
  • Recognition Clues
  • Generic Templates
  • Practice Problems
  • Java Implementations

πŸ“ˆ Current Progress

Topic Status
Foundations βœ…
Sorting βœ…
Arrays 🚧
Strings 🚧
Linked Lists 🚧
Recursion ⏳
Binary Search ⏳
Stack ⏳
Queue ⏳
Trees ⏳
Graphs ⏳
Dynamic Programming ⏳

Legend

  • βœ… Completed
  • 🚧 In Progress
  • ⏳ Planned

πŸ” Problem Solving Workflow

For every problem:

  1. Understand the problem statement
  2. Identify the underlying pattern
  3. Build a brute-force solution
  4. Optimize the approach
  5. Analyze Time Complexity
  6. Analyze Space Complexity
  7. Implement clean Java code

Whenever applicable, solutions include:

  • Brute Force Approach
  • Better Approach
  • Optimal Approach

⚑ Tech Stack

  • Java
  • IntelliJ IDEA
  • Git
  • GitHub

πŸŽ“ Current Focus

Actively preparing for:

  • Software Development Engineer (SDE) Roles
  • Coding Interviews
  • Technical Assessments
  • Campus Placements

🀝 Contributions

This repository is maintained primarily for learning and interview preparation.

Suggestions, optimizations, and improvements are always welcome.


⭐ Connect With Me

GitHub

https://github.com/prakashsalapu

LinkedIn

https://linkedin.com/in/prakashsalapu


If you find this repository useful, consider giving it a ⭐

It motivates me to continue documenting and improving my DSA journey.

About

πŸš€ Java DSA Journey | Data Structures & Algorithms in Java | Interview Preparation | Problem Solving & Competitive Programming

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages