Rotate image (square matrix) by 90 deg
Tue, 06 May 2025
How will you find the minimum of three integers without using any comparison operator?
Small disclaimer before proceeding, Such questions are not coding interview questions, it is rather like trick question.
There can be multiple ways to do that, below are some of them:
1. Use decrement
The smallest number is closest to zero.
int minimum(int a, int b, int c)
{
int count = 0;
while ( a != 0 && b != 0 && c != 0 )
{
a--; b--; c--; count++;
}
return count;
}
But the time taken by this code is O(n), where n is the smallest. If we use a comparison operator, then it takes constant time O(1).
Below is the constant time method to find minimum of three numbers.
2. Using Division operator
We know that integer division will result in zero if the denominator is smaller. i.e a/b = 0 (if b <a) We use this fact to find minimum of two and then further it can be used to find minimum of three
int minOfTwo(int a, int b)
{
if(a/b != 0)
return a;
else
return b;
}
int minOfThree(int a, int b, int c)
{
return minOfTwo(a, minOfTwo(b, c));
}
3. Using XOR operator
If the questions is that find minimum (or maximum) without using branching then this post can be used. In this case however, we cannot use it because the question is without using conditional operator.
Tue, 06 May 2025
Tue, 06 May 2025
Tue, 06 May 2025
Leave a comment