# Data Structures and Algorithms

### Longest Common Subsequence (C++, Java, Python)

To become a good programmer, you have to solve a lot of programming problems first to master this skill. One such common problem is LCS, which is asked in many...

### Word Search II Problem (C++, Java, Python)

Learn how to solve the Word Search 2 leetcode problem using the Backtracking approach in C++, Java, and Python.

### 2 Keys Keyboard Problem (C++, Java, Python)

Learn how to solve the leetcode problem of 2 keys keyboard using dynamic programming in C++, Java, and Python.

### 4 Sum | Find Four Elements that Adds to Given Value

Understand the different ways to solve the 4 Sum problem using naive approach and 4 pointer method with examples in C++, Python and Java.

### Perfect Squares Problem (to Add Sum to Given Number)

Understand how to solve the leetcode problem of Perfect Square to find minimum perfect squares that sum up to a given number.

### Best Time to Buy and Sell Stock Problem (with code)

Understand how to solve Leetcode problem of Best Time to Buy and Sell Stock using dynamic programming and greedy approach.

### Median of Two Sorted Arrays (C++, Java, Python)

Let's solve the leetcode problem of how to find the median of two sorted arrays using two different approaches along with code in C++, Java, and Python.

### Word Ladder Problem (C++, Java, and Python)

Understand the word ladder programming problem from leetcode and get the solution in C++, Java, and Python.

### Longest Increasing Subsequence (C++, Java, Python)

Understand how to find the Longest Increasing Subsequence in an array using three approaches with programs in C++, Java, and Python.

### Two Sum Problem (C++, Java, and Python)

Understand the different ways to solve the Two Sum problem. Learn the algorithms and their program in C++, Java, and Python.