美文网首页
剑指 Offer II 001. 整数除法

剑指 Offer II 001. 整数除法

作者: 阿凯被注册了 | 来源:发表于2021-08-11 09:33 被阅读0次
    image.png

    原题链接:https://leetcode-cn.com/problems/xoh6Oh/

    解题思路:

    Python代码

    class Solution:
        def divide(self, a: int, b: int) -> int:
            Int_MAX = 2**31 - 1
            if b == 0:
                return Int_MAX
    
            neg = a > 0 and b < 0 or a < 0 and b > 0
            a, b = abs(a), abs(b)
            ans, shift = 0, 31
            while shift >= 0:
                if a >= b << shift:
                    a -= b<<shift
                    ans += 1<<shift
                shift -= 1
    
            if neg:
                ans = -ans
    
            if ans > Int_MAX:
                return Int_MAX
    
            return ans
            
    

    相关文章

      网友评论

          本文标题:剑指 Offer II 001. 整数除法

          本文链接:https://www.haomeiwen.com/subject/txcfbltx.html