29Divide Two Integers

来源:互联网 发布:深圳资深淘宝客服 编辑:程序博客网 时间:2024/06/15 09:32
class Solution(object):
    def divide(self, dividend, divisor):
        """
        :type dividend: int
        :type divisor: int
        :rtype: int
        """
        positive = (dividend < 0) is (divisor < 0)
        dividend, divisor = abs(dividend), abs(divisor)
        res = 0
        while dividend >= divisor:
            temp, i = divisor, 1
            while dividend >= temp:
                dividend -= temp
                res += i
                i <<= 1
                temp <<= 1
        if not positive:
            res = -res

        return min(max(-2147483648, res), 2147483647)

https://leetcode.com/tag/math/

原创粉丝点击