We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Data Structures & Algorithms in Java + 130 Leetcode Problems

Pratik Singhal

Picture this: You're sitting in the hot seat of a coding interview, faced with a challenging DSA problem. How do you tackle it with confidence and perfection? That's where my course comes in.

Read more

Picture this: You're sitting in the hot seat of a coding interview, faced with a challenging DSA problem. How do you tackle it with confidence and perfection? That's where my course comes in.

In this course, I am taking you straight to the heart of the action – the top 130 Leetcode problems. Why these specific ones? Because they're the ones tech companies love to throw your way. By mastering these, you'll be ready to ace any coding interview that comes your way.

If you’re wondering why Leetcode?

Leetcode is the most popular platform that offers a vast array of coding challenges, frequently used by tech companies in their hiring processes.

Here's why this course is will help you:

We're not simply tossing problems your way and crossing our fingers. Nope, not here.

  • We will together dive deep into each problem for invaluable insights into underlying concepts and problem-solving techniques, helping you to truly understand and conquer every challenge.

  • You’ll learn systematic approaches to problem-solving. We’ll help you break them into manageable tasks and craft efficient algorithms, so you can confidently tackle any challenge that comes your way.

  • One standout feature of this course is the live code implementation. You'll see each problem solved in real-time, giving you a firsthand look at the coding process.

  • Enhance your coding abilities through practical, hands-on learning, ensuring you're well-prepared for real-world scenarios.

  • Discover efficient coding practices, optimization techniques, and common pitfalls to avoid, equipping you with the skills to write clean, efficient code.

  • Follow along step-by-step as we dissect each problem in detail, guiding you through the thought process and live code implementation.

  • You get to access code sample files accompanying the video lectures, serving as valuable references and guides to support your learning journey and help you implement solutions effectively.

Enroll now

What's inside

Learning objectives

  • Top 130 coding interview problems on leetcode
  • Data structure & algorithms theory with implementation
  • Leetcode practice problems on dynamic programming, greedy algorithms in java
  • Leetcode practice problems on graphs, trees, backtracking in java
  • Leetcode practice problems on arrays, sliding window, two pointer, ad hoc problems in java

Syllabus

Course Introduction
How to get started with Leetcode ?
In this section we will learn how to calculate time and space complexity for any algorithm from scratch. By the end of this section you will become proficient in time and space complexity calculation
Read more
Introduction to Time & Space Complexity
What is Big O Notation ?
Checking If Big O Notation Is Acceptable
Calculating Time Complexity Example 1
Calculating Time Complexity Example 2
Myth About Time Complexity 1
Calculating Space Complexity
Calculating Time Complexity Of Recursive Cases
Space Complexity Calculation Simple Case
Recursive Time Complexity Example 2
Recursive Space Complexity Example 2
Time Complexity Live Demonstration
In this section you will solve problems based on arrays and its associated techniques like Two Pointer Method, Sliding Window Algorithm etc.
What are arrays and why are they so fast!
Drawbacks of using Arrays
How do resizable arrays work ?
Important Array Methods In Java Part 1
Leetcode #53 - Maximum Sum Subarray - Java
Leetcode #121 - Best Time To Buy And Sell A Stock - Java
Leetcode #152 - Maximum Product Subarray - Java
Leetcode #238 - Product Of Array Except Self - Java
Leetcode #189 - Rotate Array - Java
Leetcode #485 - Max Consecutive Ones
Leetcode #36 - Valid Sudoku - Java
Leetcode #973 - K Closest Points To Origin - Java
Practice Problem 4 - Encode and Decode Strings
Sliding Window Method + Sliding Window Method Practice Problems
What is Sliding Window method ? - Part 1
What is Sliding Window Method ? - Part 2
How to implement Sliding Window Method Problems Quickly ?
Practice Problem 1 - Longest Substring Without Repeating Characters
Practice Problem 2 - Longest Repeating Character Replacement
Practice Problem 3 - Sliding Window Maximum - Java
Two Pointer Method
Leetcode #11 - Container With Most Water - Java
Leetcode #42 - Trapping Rain Water - Java
Leetcode #167 - Two Sum II - Input Array Is Sorted - Java
Valid Palindrome - Java
Leetcode Practice Problems Based On Intervals
Leetcode #57 - Insert Interval
Leetcode #35 - Search Insert Position - Java
Practice Problem 3 - Merge Intervals
Leetcode #252 - Meeting Rooms - Java
Leetcode #435 - Non Overlapping Intervals
Leetcode Practice Problems Based On Math & Geometry
Leetcode #73 - Set Matrix Zero - Java
Leetcode #48 - Rotate Image
Leetcode #54 - Spiral Matrix - Java
Pow (X, N)
Sorting Theory + Sorting Practice Problems
Leetcode #169 - Majority Element - Java
Leetcode #75 - Sort Colors - Java
Leetcode #283 - Move Zeroes - Java
In this section we will go through the practice problems based on recursion and backtracking
What is backtracking and how it is implemented ?
Backtracking Example 1 With Detailed Implementation
Leetcode #39 -Combination Sum - Java
Leetcode #78 - Subsets - Java
Leetcode #51 - N Queens - Java
Leetcode #46 - Permutations - Java
Leetcode #90 - Subsets II - Java
Leetcode #40 - Combinations Sum II
Leetcode #17 - Letter Combinations Of A Phone Number
Leetcode #79 - Word Search
Leetcode #212 - Word Search II
In this section we cover Binary Search Leetcode Problems
Introduction To Binary Search
Binary Search Implementation
Binary Search Complexity
Leetcode #34 - Find First And Last Position Of Element In Sorted Array - Java
Leetcode #33 -Search In A Rotated Sorted Array - Java
Leetcode #875 - Koko Eating Bananas - Java
Leetcode #1552 -Magnetic Force Between Two Balls - Java
Leetcode #153 - Find Minimum In A Rotated Sorted Array - Java
In this section we will learn the different techniques required to solve Binary Search Tree Problems
Introduction To Binary Search Trees
Height Balanced BST
BST Insertion
Inorder Successor And Predecessor
BST Deletion
Leetcode #230 - Kth Smallest Element In BST - Java
Leetcode #98 - Validate Binary Search Tree - Java
Leetcode #235 - Lowest Common Ancestor Of A Binary Search Tree - Java
Binary Trees Theory + Leetcode Practice Problems
Introduction to Binary Trees
Terms Related To Trees
Level Order Traversal
Tree Traversal Algorithms
Leetcode #94 - Binary Tree InOrder Traversal - Java
Leetcode #101 - Symmetric Tree - Java
Leetcode #104 - Maximum Depth Of A Binary Tree - Java
Leetcode #226 - Invert Binary Tree - Java
Leetcode #543 - Diameter Of A Binary Tree - Java
Leetcode #102 - Binary Tree Level Order Traversal - Java
Leetcode #112 - Path Sum - Java
Leetcode #113 - Path Sum II - Java
Leetcode #993 - Cousins in Binary Tree - Java

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops expertise of top 130 Leetcode problems, essential for passing coding interview challenges
Strengthens foundational coding skills and deepens understanding of data structures and algorithms
Covers a variety of problem-solving techniques, including dynamic programming, greedy algorithms, and backtracking
Provides hands-on practice and prepares learners to tackle real-world coding challenges
Led by Pratik Singhal, an expert in coding interviews with a proven track record

Save this course

Save Data Structures & Algorithms in Java + 130 Leetcode Problems to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Data Structures & Algorithms in Java + 130 Leetcode Problems with these activities:
Review Basic Programming Concepts
Review basic programming concepts to refresh your knowledge and ensure you have a solid foundation for the course.
Browse courses on Programming Fundamentals
Show steps
  • Go over your notes or textbooks from previous programming courses.
  • Practice writing simple code snippets to implement basic programming concepts such as variables, data types, and control flow.
  • Solve easy LeetCode problems to apply your refreshed programming skills.
Organize Your Course Materials
Organize your course materials such as notes, assignments, quizzes, and exams to improve your ability to find and review them later.
Show steps
  • Create folders or use a digital tool to organize your course materials.
  • Label and group related materials together.
  • Regularly update and review your organized materials.
Read a Book on Data Structures and Algorithms
Review a book on data structures and algorithms to strengthen your foundational knowledge and prepare for coding interviews.
Show steps
  • Choose a book on data structures and algorithms that aligns with your skill level.
  • Read the book thoroughly and take notes on important concepts.
  • Practice implementing data structures and algorithms in the programming language of your choice.
  • Solve LeetCode problems using the concepts you learned from the book.
  • Discuss the book and your learnings with peers or instructors.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Join a Study Group for LeetCode Problems
Join a study group to collaborate with other students, discuss different approaches to LeetCode problems, and learn from each other.
Show steps
  • Find a study group or create your own with classmates.
  • Choose LeetCode problems to work on together.
  • Meet regularly to discuss your solutions and learn from each other.
  • Share resources and tips related to LeetCode problems.
  • Provide peer support and encouragement to each other.
Watch Video Lectures on LeetCode Problems
Watch video lectures from the course to gain insights into different LeetCode problems and solution approaches.
Show steps
  • Choose a LeetCode problem from the course syllabus.
  • Watch the corresponding video lecture for that problem.
  • Take notes on the problem-solving approach and implementation details.
  • Pause the video and try to solve the problem on your own.
  • Resume the video to check your solution and learn from the instructor's approach. (recommended)
Practice LeetCode Problems
Practice solving LeetCode problems to improve your problem-solving skills and prepare for coding interviews.
Show steps
  • Pick a LeetCode problem from the course syllabus.
  • Read the problem statement carefully and understand the requirements.
  • Break down the problem into smaller subproblems.
  • Implement your solution in the programming language of your choice. (e.g. Java)
  • Test your solution against the given test cases.
Create a LeetCode Problem Collection
Create a collection of LeetCode problems that you have solved or found particularly challenging to reinforce your learning and prepare for coding interviews.
Show steps
  • Identify LeetCode problems that you found interesting or challenging.
  • Organize the problems into categories or topics.
  • Create a document or use a tool to store the problem statements, your solutions, and any additional notes.
  • Review your collection regularly to refresh your knowledge and identify areas for improvement.
Write a Summary of a LeetCode Problem
Summarize a LeetCode problem to solidify your understanding and improve your communication skills.
Show steps
  • Pick a LeetCode problem from the course syllabus.
  • Solve the problem on your own or with the help of course materials.
  • Write a summary that includes the problem statement, your solution approach, and the time and space complexity of your solution.
  • Proofread your summary for clarity and accuracy.
  • Share your summary with a peer or instructor for feedback.

Career center

Learners who complete Data Structures & Algorithms in Java + 130 Leetcode Problems will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Data Structures & Algorithms in Java + 130 Leetcode Problems.
Python Data Structures & Algorithms: Ace Coding Interviews
Most relevant
50 days of LeetCode in python: Algorithms coding interview
Most relevant
LeetCode in Java: Algorithms Coding Interview Questions
Most relevant
Blind 75 LeetCode Questions: Ace Algorithms Coding...
Most relevant
Data Structures and Algorithms In Java ( DSA )
Most relevant
50 Days of DSA PYTHON Dynamic Programming, Question...
Most relevant
C++ Data Structures & Algorithms + LEETCODE Exercises
Python Exercises for Beginners: Solve 100+ Coding...
Code Faster with AI: ChatGPT, GitHub Copilot, Tabnine &...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser