Arrays Spiral Matrix Leetcode Problem Statement Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order. Example 1: Input: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] Output: [1,2,3,6,9,8,7,4,

Leetcode Easy Balanced Parentheses Validation - Java Problem Statement Given an string or expression which only consists of characters like (, ), [, ], {, } . Validate if the string has balanced parentheses. A string has balanced parentheses, if every open bracket has an associated closed one and they exist in the right order. Solution Explanation As

Frequently Asked Questions Calculate the Hamming Distance between two Integers Problem Statement Given two integers, calculate the hamming distance between them. Solution Explanation Hamming Distance between integers is defined as the number of indexes where the two bits differ. For example, given integers x = 2 and y=5, the hamming distance between them is,

Data Structures Doubly Linked List Implementation Java LinkedList is a linear data structure which allows to insert and remove elements at the front and rear in constant time. LinkedLists are typically of two types, Single LinkedList Each node has a reference to the next node. Doubly LinkedList Each node has a

Data Structures Introduction to Queue and Implementation using Linked List Queue is a linear datastructure that stores elements with first in first out(FIFO) ordering. That is, the element which gets added to the queue leaves before all the elements added after it. The most typical example is a real world queue, where you

Data Structures Stack Implementation using Single LinkedList Java Stack is one of the most used data structures in computer science. It is a linear data structure which supports ordering of elements in Last In First Out order(LIFO). The very typical real world example is a stack of plates, where new plates

Array Trapping Rain Water Solution Java Problem Statement Given an a list of n integers which are non negative and represent an elevation map of various buildings where the width of each bar/building is 1, Find out how much water can be saved in between them when it rains.

Array Find K Pairs with Smallest Sum Java Solution Problem Statement Given two integer arrays, arr1 and arr2, find K pairs of elements such that (x,y) where x is the value from the first array and y is the value from the second array who sum is the smallest. For example, give

Array Find Two Numbers in an Array Which Sum Up to K Problem Statement Given an array of integers, find out two indices such that the sum of the numbers at that indices matches K. For example, {4, 6, 8, 1, 9} and K = 15, the output would be [1,4] Solution Explanation The questions is

Array Check If a Sudoku is Valid Problem Statement Determine if a sudoku is Valid. Solution Explanation Given a sudoku grid, we need to verify if the already filled in numbers doesn't violate the sudoku rules. The rules are very simple, Each row has numbers from 1-9 and no repitions Each

Math Generate all Factor Combinations Problem Statement Given a number 'n', generate all factor combinations. For example, when n=24, the result would be [[2, 3, 3], [2, 9], [3, 6]] Solution Explanation As we know, every integer can be formed by product or multiplication of some numbers. These

Linked List Check if a LinkedList has a cycle Problem Statement Given a single linked list, verify if the list has a cycle. A linked list has a cycle if a node's reference points back to an earlier node in the chain. Example: 1 -> 2 -> 3 -> 4

Array Best Time to Buy and Sell Stock Problem Statement Given an array 'stocks' in which each value at index 'i' is the stock price on day 'i', Find the maximum profit you can make by performing atmost one Buy and one Sell on these stock prices. Example 1: Input: [10, 1,

Leetcode Medium Find Inorder Successor in a Binary Search Tree Problem Statement Given a binary search tree and the value of a certain node, find the next node in the inorder sequence after the given node. Solution Explanation The important information here is that the tree is a binary search tree and we need

Linked List Linked List Implementation Java Problem Statement Implement a single linked list in Java Solution Explanation Linked List is one of the heavily used data structure in computer programming. It is basically a linear collection of data elements and is represented by a group of nodes each pointing to

Array Number of Islands Leetcode Problem Statement Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are

Math Find the Celebrity Problem Statement Suppose you are at a party with n people (labeled from 0 to n - 1) and among them, there may exist one celebrity. The definition of a celebrity is that all the other n - 1 people know him/her but

Array Three Sum(3Sum) Leetcode Problem Statement Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. Solution Explanation Given an integer array like below,

Array Meeting Rooms Leetcode Problem Statement Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si < ei), find the minimum number of conference rooms required. For example, Given [[0, 30],[5, 10],[15, 20]], return 2. Solution Explanation The

String Decode Ways Leetcode Problem Statement A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given an encoded message containing digits, determine the total number of ways to decode it.

String Letter Combinations of a Phone Number Problem Statement Given a digit string, return all possible letter combinations that the number could represent. Input:Digit string "23" Output: ["ad", "ae", "af", "bd", "be", "bf", "cd"

Interview Questions Add Binary Leetcode Problem Statement Given two binary strings, return their sum (also a binary string). For example,a = "11", b = "1" Return "100". Solution Explanation The question is very straightforward where you add two binary values in string form. Carry

Binary Tree Binary Tree Vertical Order Traversal Leetcode Problem Statement Given a binary tree, return the vertical order traversal of its nodes' values. (ie, from top to bottom, column by column). Solution Explanation Given a binary tree, 35 / \ 23 27 / \ \ 14 10 9 vertical order traversal looks like this, [[14], [23], [35,

Array Sparse Matrix Multiplication Problem Statement Given two sparse matrices A and B, return the result of AB. You may assume that A's column number is equal to B's row number. Solution Explanation A sparse matrix is a matrix or a 2D array in which majority of the

Binary Search First Bad Version Leetcode Problem Statement Suppose you have n versions [1, 2, ..., n] and you want to find out the first bad one, which causes all the following ones to be bad. You are given an API bool isBadVersion(version) which will return whether version is bad.