
Given two integers dividend and divisor, divide two integers without using multiplication, division and mod operator.
Return the quotient after dividing dividend by divisor.
The integer division should truncate toward zero.
Example 1:
1 2
|
Input: dividend = 10, divisor = 3 Output: 3
|
Example 2:
1 2
|
Input: dividend = 7, divisor = -3 Output: -2
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
class { public int divide(int dividend, int divisor) { if (dividend == Integer.MIN_VALUE && divisor == -1) return Integer.MAX_VALUE; if (divisor == Integer.MIN_VALUE) return dividend == Integer.MIN_VALUE ? 1 : 0; int count = 0; int dividend2 = dividend > 0? dividend: dividend * -1; int divisor2 = divisor > 0? divisor: divisor * -1; int diff = dividend2 - divisor2; while (diff >= 0) { count ++; diff -= divisor2; } if (dividend < 0 && divisor < 0) { return count; } else if (dividend > 0 && divisor > 0) { return count; } else { return count * -1; } } }
|
近期评论