Leetcode 29.两数相除 By Python
2021-06-17 16:04
标签:要求 etc type self lin line lse object 简洁 给定两个整数,被除数 返回被除数 示例 1: 示例 2: 说明: 思路 除法其实可以用加法的思路做,循环减去divisor就好了,这样的时间复杂度是\(O(dividend)\),遗憾的是这样是过不了的。所以要另辟蹊径,用位运算。 \(dividend = quotient*divisor + remainder\) 解法:dividend
和除数 divisor
。将两数相除,要求不使用乘法、除法和 mod 运算符。dividend
除以除数 divisor
得到的商。输入: dividend = 10, divisor = 3
输出: 3
输入: dividend = 7, divisor = -3
输出: -2
dividend$小的,规定一个暂时变量tmp,更新tmp
代码
class Solution(object):
def divide(self, dividend, divisor):
"""
:type dividend: int
:type divisor: int
:rtype: int
"""
if dividend == 0: return 0
if divisor == 0: return
sign = -1 if ((dividend 2 ** 31 - 1:
return 2 ** 31 - 1
else:
return quotient
Leetcode 29.两数相除 By Python
标签:要求 etc type self lin line lse object 简洁
原文地址:https://www.cnblogs.com/MartinLwx/p/9721010.html