At Stripe, you need to implement integer division for a low-level utility where the / and * operators are not allowed. Given two integers dividend and divisor, return the quotient after dividing dividend by divisor.
Truncate toward zero, as in most programming languages. You may not use multiplication, division, or modulus operators.
dividend and divisordividend / divisor, truncated toward zero2147483647Example 1
dividend = 10, divisor = 3310 / 3 = 3.333..., so truncating toward zero gives 3.Example 2
dividend = 7, divisor = -3-27 / -3 = -2.333..., so truncating toward zero gives -2.-2^31 <= dividend <= 2^31 - 1-2^31 <= divisor <= 2^31 - 1divisor != 0O(log |dividend|) time or better