Skip to content
New

DSA with Java — Placement Preparation

Eighty-six worked problems, from array CRUD to graph traversal

86 lessons · 29h 11m
Created by Demo TrainerUpdated September 2026EnglishBeginner

What you'll learn

  • Solve array, matrix and linked-list problems without reaching for a hint
  • Read a recursive solution off the call stack rather than by trial and error
  • Recognise when a problem is backtracking and when it is dynamic programming
  • Convert a working recursion into a memoised and then a tabulated solution
  • Traverse a binary tree in every order an interview asks for, and rebuild one from its traversals
  • Represent and traverse a graph, and say why you chose the representation
  • State the time and space complexity of your own solution, correctly
Level
Beginner
Duration
86 lessons (about 16 weeks)
Material
29h 11m
Lessons
86
Language
English
Access
365 days

About this course

The data structures and algorithms a placement interview actually asks about, worked in full in Java — arrays, matrices, linked lists, recursion, backtracking, dynamic programming, trees and graphs.

This is a problem-first course. Every topic opens with the structure, then spends most of its time on the problems interviewers reuse — Two Sum, Trapping Rain Water, Spiral Matrix, Reverse a Linked List, N-Queens, Sudoku, Edit Distance, Vertical Order Traversal — each solved on screen in Java with the complexity stated out loud, because stating it is half of what is being marked. Recursion gets twenty lessons on its own, read off the call stack rather than guessed at, because everything from backtracking to dynamic programming to tree traversal is built on it. No prior DSA background is assumed; it starts at array CRUD.

Syllabus

9 modules · 86 lessons · 29h 11m · 1 free to preview

  1. Start here1 free1 lesson · 9m
  2. Arrays15 lessons · 4h 4m
    • Learn Array CRUD Operations15m
    • Array vs ArrayList15m
    • HashMap15m
    • Max Element and Second Max Element in an Array15m
    • Two Sum Problem | LeetCode 115m
    • Rotate Array | Once, K-Times & Optimized Approach15m
    • Numbers Smaller Than Current Number | All Approaches | LeetCode 136515m
    • Max Sum of K Consecutive Elements | Sliding Window Technique15m
    • Bar Chart Pattern in Java Using Arrays15m
    • Check Sorted Array & Reverse Array | Two Pointer Approach15m
    • Array Addition & Subarray Product Less Than K | LeetCode 71315m
    • N-bonacci Series & Count Distinct in Window | Sliding Window15m
    • Gas Station Problem | LeetCode 13423m
    • Best Time to Buy and Sell Stock + Pre-Computation | LeetCode 12123m
    • Trapping Rain Water | LeetCode 42 | Pre-Computation Technique23m
  3. 2D arrays and matrices6 lessons · 2h 16m
    • Introduction to 2D Arrays23m
    • 2D Array Traversal, Toeplitz Matrix & Transpose | LeetCode 76623m
    • Lucky Number in a Matrix23m
    • Snake Pattern & Spiral Matrix | LeetCode 5423m
    • The K Weakest Rows in a Matrix | LeetCode 133723m
    • Pascal's Triangle | LeetCode 118 | 2D ArrayList Explained23m
  4. Linked lists9 lessons · 3h 24m
    • Introduction to Linked List | Build Your Own Linked List23m
    • Generic Linked List | Build a Linked List for Any Data Type23m
    • Linked List CRUD Operations | Insert at Beginning, End & Mid23m
    • Linked List Deletion | Delete from Beginning & Any Position23m
    • Find Middle of Linked List | LeetCode 87623m
    • Kth Node from End of Linked List | LeetCode 1923m
    • Reverse a Linked List | LeetCode 20623m
    • Split Circular Linked List into Two Halves23m
    • Clone Linked List with Random Pointer | LeetCode 13823m
  5. Recursion20 lessons · 7h 33m
    • Recursion Explained with the Call Stack23m
    • Factorial Using Recursion23m
    • Sum of Digits Using Recursion23m
    • Power Compute Using Loop and Recursion23m
    • Reverse a String Using Recursion23m
    • Check Sorted Array & Search Element Using Recursion23m
    • Pattern Programs Using Recursion23m
    • Generate All Subsequences of a String23m
    • Generate Subsequences Using Recursion23m
    • String Permutations Using Recursion23m
    • Multi-Branch Recursion & Fibonacci Series23m
    • Fibonacci Series Using Recursion23m
    • Dice Game Using Recursion23m
    • Climbing Stairs Using Recursion | LeetCode 7023m
    • Maze Path Problem Using Recursion23m
    • Print All Subsequences Using Recursion23m
    • Print All Permutations Using Recursion23m
    • Dice Count Without ArrayList Using Recursion23m
    • Tower of Hanoi Recursion: Interview Question Breakdown23m
    • Josephus Problem Using Recursion23m
  6. Backtracking9 lessons · 3h 24m
    • Introduction to Backtracking Using Recursion23m
    • N-Queens Problem Using Backtracking | Part 123m
    • N-Queens Problem Solution Using Backtracking | Part 223m
    • Generate Parentheses Using Backtracking | LeetCode 2223m
    • Word Search Using Backtracking | LeetCode 7923m
    • Letter Combinations of a Phone Number | LeetCode 1723m
    • Sudoku Solver Using Backtracking | LeetCode 3723m
    • Subset Sum Problem Using Recursion & Backtracking23m
    • Rat in a Maze Using Recursion & Backtracking23m
  7. Dynamic programming7 lessons · 2h 27m
    • Dynamic Programming Introduction23m
    • Fibonacci Series Using Dynamic Programming23m
    • Dice Count Using Dynamic Programming23m
    • Longest Common Subsequence Using DP | LeetCode 114323m
    • Minimum Cost Path Using Dynamic Programming19m
    • Subset Sum Problem Using Dynamic Programming19m
    • Edit Distance Using Dynamic Programming | LeetCode 7219m
  8. Trees10 lessons · 3h 7m
    • Height of a Tree | Trees in Java19m
    • Count Nodes in a Binary Tree19m
    • Print Nodes at K Distance from Root19m
    • Print Left View of a Binary Tree | Recursive Approach19m
    • Print Left View of a Binary Tree | Iterative Approach19m
    • Root Equals Sum of Children | LeetCode 223619m
    • Construct Sum Tree of a Binary Tree19m
    • Spiral Order Traversal of a Binary Tree Using Two Stacks19m
    • Construct Binary Tree from Inorder and Postorder Traversal19m
    • Vertical Order Traversal of a Binary Tree19m
  9. Graphs9 lessons · 2h 48m
    • Introduction to the Graph Data Structure19m
    • Graph Representation Using Vertices and Edges19m
    • Directed vs Undirected Graph19m
    • Graph Terminologies | Degree, Walk, Path & Cycles19m
    • Graph Representations: Adjacency Matrix & Adjacency List19m
    • Graph Representation Using an Adjacency List19m
    • Graph Traversal19m
    • Graph Traversal Using BFS | Breadth First Search19m
    • Graph Traversal Using BFS | Breadth First Search Part 219m

Your instructor

  • Gs Dwiwedi

    Full-stack engineer, and the person who built this platform

    15 years experience · Java, Spring Boot, React, PostgreSQL, System design

    Fifteen years building and running production systems, most of them in Java and JavaScript. Teaches the way he works: start with something that runs, then make it correct, then make it fast.

What you'll get

  • Free first lessonThe opening lesson of the course is public — read it before you buy.
  • Lifetime accessOne purchase, a year of access, and every future update included.
  • Every lesson on videoRecorded, chaptered and rewatchable at your own speed.
  • Certificate on completionIssued automatically and verifiable by a public link.

Tools you'll use

  • JavaEvery solution written and run in Java 17
  • LeetCodeThe exact numbered problems interviewers reuse
  • IntelliJ IDEADebugger-first — watch the call stack, do not guess at it
  • Big-O analysisJustify a complexity out loud, which is what is actually marked

Before you start

  • Core Java — classes, arrays, collections, generics
  • No prior DSA background; the series starts from array CRUD
  • About ninety minutes a day if you are following the daily pace

Who this is for

  • Students preparing for campus and off-campus placements
  • Working developers preparing for interviews after a few years away from DSA
  • Anyone who can write code but freezes at a whiteboard