Java + DSA Learning Plan & LeetCode Problem Sheet
8-Week Java + DSA Study Plan
Week 1-2: Java Basics
- Variables, Data Types, Operators
- Conditions, Loops, Functions
- OOP: Classes, Objects, Inheritance, Polymorphism, Encapsulation
Week 3: Object-Oriented Programming
- Constructors, Interfaces, Abstraction
- Mini project: Student Management System
Week 4: Arrays & Strings
- Array & 2D Array problems
- String manipulation
- Start LeetCode (1 problem/day)
Week 5: Recursion, Sorting, Linked List
- Recursion, Bubble/Selection Sort
- Linked List: insert, delete, reverse
Week 6: Stack, Queue, Binary Search
- Stack and Queue operations
- Binary Search and problems
Week 7: Trees, Hashing, Sliding Window
- Binary Tree & BST
- HashMap, HashSet
- Two pointer & Sliding Window
Week 8: Dynamic Programming & Practice
- Fibonacci, 0/1 Knapsack (basic)
Java + DSA Learning Plan & LeetCode Problem Sheet
- Weekly problem-solving
LeetCode Problem Sheet (Beginner Friendly)
Arrays:
- Two Sum, Best Time to Buy and Sell Stock, Maximum Subarray
Strings:
- Valid Palindrome, Longest Common Prefix, Longest Substring Without Repeating Characters
Hashing:
- Contains Duplicate, Top K Frequent Elements
Recursion & Backtracking:
- Subsets, Combination Sum, Permutations
Linked List:
- Reverse Linked List, Merge Two Sorted Lists, Linked List Cycle
Stack & Queue:
- Valid Parentheses, Min Stack, Daily Temperatures
Binary Search:
- Binary Search, Search in Rotated Sorted Array
Trees:
- Maximum Depth of Binary Tree, Lowest Common Ancestor
Sliding Window & Two Pointer:
- Move Zeroes, Minimum Size Subarray Sum
Java + DSA Learning Plan & LeetCode Problem Sheet
Dynamic Programming:
- Climbing Stairs, House Robber, Unique Paths