首页 > 其他 > 详细

029 Divide Two Integers

时间:2015-08-08 16:14:44      阅读:138      评论:0      收藏:0      [点我收藏+]

029 Divide Two Integers

class Solution:
    # @param {integer} dividend
    # @param {integer} divisor
    # @return {integer}
    def divide(self, dividend, divisor):
        intMax, intMin = 2147483647, -2147483648
        if dividend==0 or divisor == 0:
            return 0
        isNeg = (dividend * divisor < 0)
        dividend, divisor = abs(dividend), abs(divisor)
        ans = 0
        tmp = 1
        d = divisor
        while dividend >= divisor:
            if dividend >= d:
                dividend -= d
                ans += tmp
                tmp += tmp
                d += d
            else:
                tmp = 1
                d = divisor
        if isNeg:
            return max(-ans, intMin)
        return min(ans, intMax)

 

029 Divide Two Integers

原文:http://www.cnblogs.com/dapanshe/p/4713123.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!