I had 2 question. One queston was like Dungeon Game.
Second one I had few mintues left. Interviewer asked me :
You will be given dividend and Divisor .. return back quotient and remainder without using division operator.
For example :
dividend : 25 Divisor : 4
Q :6 R: 1
SInce I had 5 mins left in hand .. so had to do with brute force :
Approach 1:
public int[] solve (int dividend, int divisor) {
int q = 0;
int sign = 1;
if (dividend < 0) {
sign *= -1;
dividend *= -1;
}
if (divisor < 0) {
sign *= -1;
divisor *= -1;
}
while (dividend > divisor) {
dividend -= divisor;
q++;
}
return new int[]{q * sign, dividend};
}
Approach 2 :
public static int[] solve2(int dividend, int divisor) {
int q = 0;
int sign = 1;
if (dividend < 0) {
sign *= -1;
dividend *= -1;
}
if (divisor < 0) {
sign *= -1;
divisor *= -1;
}
while (divisor*divisor < dividend) {
dividend -= divisor * divisor;
q += divisor;
}
while (dividend > divisor) {
dividend -= divisor;
q++;
}
return new int[]{q * sign, dividend};
}
Later after interview I was eating my head ... can I do anything better?