Permutation - position (order) matters. = N! / (N - r)!. Building words with {a,b,c} are also permutation problem with r = {1,2,3..N} Combination - position (order) doesn't matter = N! / (N - r)! * r! . Combination is a part of Permutation set. All possible combination means, generating combination for r = {0,1.. … Continue reading Permutation and Combination

# System Design links

# Important and Useful links from all over the Leetcode

List of all good posts on Leetcode. Comment down whichever I am missing and I will add all of them here - DP for beginners by @wh0ami - https://leetcode.com/discuss/general-discussion/662866/dp-for-beginners-problems-patterns-sample-solutions%5BLIST - https://leetcode.com/list/x1k8lxi5%5DGraph for beginners by @wh0ami - https://leetcode.com/discuss/general-discussion/655708/graph-for-beginners-problems-pattern-sample-solutions/562734%5BLIST - https://leetcode.com/list/x1wy4de7%5DSliding window for beginners by @wh0ami - https://leetcode.com/discuss/general-discussion/657507/sliding-window-for-beginners-problems-template-sample-solutions/562721%5BLIST - https://leetcode.com/list/x1lbzfk3%5DDP Patterns by @aatalyk - https://leetcode.com/discuss/general-discussion/458695/dynamic-programming-patternsLeetcode patterns from edu_cative_dot_io by @late_riser - https://leetcode.com/discuss/general-discussion/457546/LeetCode-Problem-Patterns-from-***List of questions sorted … Continue reading Important and Useful links from all over the Leetcode

# Leetcode – 78. Subsets

Given a set of distinct integers, nums, return all possible subsets (the power set). Note: The solution set must not contain duplicate subsets. Solution: Cascading Approach: Lets say, we have a set S={1,2,3,4}. Pick an element from set, ex. 4, now you have 2 sets - {[], [4]}. Now pick the second element from list ex. 3, now you … Continue reading Leetcode – 78. Subsets

# .NET Big O Algorithm Complexity Cheat-Sheet

# Leetcode 99 – Recover Binary Search Tree – Constant space

Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing its structure with constant space. Example 1: Input: [1,3,null,null,2] 1 / 3 \ 2 Output: [3,1,null,null,2] 3 / 1 \ 2 Example 2: Input: [3,1,4,null,null,2] 3 / \ 1 4 … Continue reading Leetcode 99 – Recover Binary Search Tree – Constant space

# Binary Left Shift << and Right Shift >>

Binary Left Shift << When shifting left, the most-significant bit is lost, and a 0 bit is inserted on the right end. Left shift is equivalent to multiplying the bit pattern by 2k (if we are shifting k bits). 10 << 2 = 10 * 22 = 10 * 4 = 40 10 << 3 = 10 … Continue reading Binary Left Shift << and Right Shift >>

# Leetcode – 117. Populating Next Right Pointers in Each Node II

Given a binary tree struct Node { int val; Node *left; Node *right; Node *next; } Populate each next pointer to point to its next right node. If there is no next right node, the next pointer should be set to NULL. Initially, all next pointers are set to NULL. Example: Input: {"$id":"1","left":{"$id":"2","left":{"$id":"3","left":null,"next":null,"right":null,"val":4},"next":null,"right":{"$id":"4","left":null,"next":null,"right":null,"val":5},"val":2},"next":null,"right":{"$id":"5","left":null,"next":null,"right":{"$id":"6","left":null,"next":null,"right":null,"val":7},"val":3},"val":1} Output: {"$id":"1","left":{"$id":"2","left":{"$id":"3","left":null,"next":{"$id":"4","left":null,"next":{"$id":"5","left":null,"next":null,"right":null,"val":7},"right":null,"val":5},"right":null,"val":4},"next":{"$id":"6","left":null,"next":null,"right":{"$ref":"5"},"val":3},"right":{"$ref":"4"},"val":2},"next":null,"right":{"$ref":"6"},"val":1} Explanation: Given … Continue reading Leetcode – 117. Populating Next Right Pointers in Each Node II

# Leetcode – 968 – Binary Tree Cameras

Given a binary tree, we install cameras on the nodes of the tree. Each camera at a node can monitor its parent, itself, and its immediate children. Calculate the minimum number of cameras needed to monitor all nodes of the tree. Example 1: Input: [0,0,null,0,0]Output: 1 Explanation: One camera is enough to monitor all nodes if placed as … Continue reading Leetcode – 968 – Binary Tree Cameras

# Leetcode 685 – Redundant Connection II

In this problem, a rooted tree is a directed graph such that, there is exactly one node (the root) for which all other nodes are descendants of this node, plus every node has exactly one parent, except for the root node which has no parents. The given input is a directed graph that started as a rooted … Continue reading Leetcode 685 – Redundant Connection II