Find the Maximum of Two Numbers Without Using if-else

Find the maximum and minimum of two integers without branching i.e. if condition. Solution: Minimum of two numbers can be found from the following: Min(x,y) = y ^ ((x ^ y) & -(x < y)) It works because if x < y, then -(x < y) will be all ones, so r = y ^ Read More →

Find the Element that Appears Once

Problem: Given an array where every element occurs three times, except one element which occurs only once. Find the element that occurs once. Expected time complexity is O(n) and O(1) extra space. Examples: Input: arr[] = {10, 1, 10, 3, 10, 1, 1, 2, 3, 3} Output: 2 Solution: If O(1) space constraint was not Read More →

Check if a Singly Linked List is Palindrome

Given a singly linked list, determine if its a palindrome. Return 1 or 0 denoting if its a palindrome or not, respectively. Notes: – Expected solution is linear in time and constant in space. For example, List 1–>2–>1 is a palindrome. List 1–>2–>3 is not a palindrome. Solution: This method takes O(n) time and O(1) Read More →

Minimum no Of Aircraft Puzzle

Puzzle: On Bagshot Island, there is an airport. The airport is the home base of an unlimited number of identical airplanes. Each airplane has a fuel capacity to allow it to fly exactly 1/2 way around the world, along a great circle. The planes have the ability to refuel in flight without loss of speed Read More →

Dynamic Memory Allocation (Stack vs Heap)

Dynamic Memory Allocation

The Stack What is the stack? It’s a special region of your computer’s memory that stores temporary variables created by each function (including the main() function). The stack is a “LIFO” (last in, first out) data structure, that is managed and optimized by the CPU quite closely. Every time a function declares a new variable, Read More →

Chickens and Rabbits | Math Puzzle

Puzzle: There are several chickens and rabbits in a cage (with no other types of animals). There are 72 heads and 200 feet inside the cage. How many chickens are there, and how many rabbits? Puzzle Solution: Let c be the number of chickens, and r be the number of rabbits. r + c = Read More →

Nugget Numbers | Math Brain Teaser

Puzzle: At McDonald’s you can order Chicken McNuggets in boxes of 6,9, and 20. What is the largest number of nuggets that you cannot order using any combination of the above? Puzzle Solution: 43 It is possible to achieve all multiples of 3 that are bigger than 6, through the 6s and 9s alone. Adding Read More →

Top 10 Brain Teasers

Ready to challenge your brain? Here’s our collection of brain teasers and the answers! Most people get these wrong. Try now these brain teasers! 1. Red and Blue Balls in a Bag You have 20 Blue balls and 10 Red balls in a bag. You put your hand in the bag and take off two Read More →

Frog and Well Puzzle

Puzzle: A frog is at the bottom of a 30 meter well. Each day he summons enough energy for one 3 meter leap up the well. Exhausted, he then hangs there for the rest of the day. At night, while he is asleep, he slips 2 meters backwards. How many days does it take him Read More →

House Robber | Dynamic Programming

Problem: You have n houses with certain amount of money stashed in each house. You can not steal any adjacent houses. Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can steal. Solution: This is a simple dynamic programming problem. The key is Read More →

The Pill Problem | Hard Brain Teaser

Man and 3 Pill Puzzle

Puzzle: This is very hard brain teaser. A man has a medical condition that requires him to take two kinds of pills, call them P1 and P2. The man must take one P1 pill and one P2 pill each day, or he will die. If he takes more than 1 pill of the same kind Read More →

Rotate Matrix By 90 Degree

Problem description: Given an N X N integer matrix, rotate it bye 90 degrees in place.In-place means minimal extra memory to be used, i.e. don’t make a new array to copy into). Rotate clockwise means top-row becomes right-column, right column becomes bottom-row etc. eg. Solution: The idea is to do a “four-way” swap variable, we Read More →