π§ͺFormula List
Basic
Prevent iterator from moving forward in for loop.
for loop.char ch;
for(int i = 1; i <= 10; i++) {
cout << "Iteration " << i << endl;
cout << "repeat iteration (y/n): ";
cin >> ch;
if(ch == 'y')
i--;
}Sometimes you might want to work with the same value of the iterator. Example: See solution for First Missing Integer
Array
Address of index
i=base address+index*sizeof each elementWhen working with a group of people in a circular arrangement(or any similar situation), think of how a
queuemight be used here.
Binary Search
Getting Mid while Avoids Integer Overflow
π£ mid = low + (high - low) >> 1 will not work. >>'s precedence is lower, so it needs to be in parentheses.
Math
Primality Test
Sieve of Eratosthenes
GCD Euclid's Formula
See Main Article
Fast Exponentiation
See Main Article
Compare Numbers Represented as String
Useful when comparing extremely large numbers that cannot otherwise be stored in any other data type
Removing Leading 0s from a Number in String
Compare double type numbers
Two double-type numbers could be the same but could evaluate as false due to precision error when compared using == for equality.
Another way to say that two double numbers are equal is to say that the distance between them is less than β, where is a very small number.β
Check whether a double type contains Integer
If a number is not an integer, for example, 5.5, then its difference with its integer part will be non-zero.
If it is an integer, then the difference is 0.
Time Complexity:
Property of nCr
Property of nPr
Power of two
Bit Manipulation
Check if bit is set
Set a bit
Multiply by 2^k
Check if a number is odd or even
String
Palindrome Test
Two Pointer Approach
Anagram Test
Count of each character in both the strings will be same.
Use
mapor a lookup table.
Linked List
Edge Cases
Linked List has single or no elements
Accessing ptr -> next throws an error
if(!A || !(A -> next)) reutrn A
Get Length of a Linked List
Get nth Node from Front
Here β
Get the Last Node of a Linked List
Reverse a Linked List
Get the Middle Element of a Linked List
To get 5 as the middle element in event elements
Initialize fast with head->next
Binary Tree
Iterative Traversal Algorithm
Inorder Traversal
Last updated