LeetCode029 兩數相除

2021-09-22 12:46:42 字數 909 閱讀 1134

給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法、除法和 mod 運算子。

返回被除數dividend除以除數divisor得到的商。

示例 1:

輸入:dividend = 10, divisor = 3輸出:3
示例 2:

輸入:dividend = 7, divisor = -3輸出:-2
說明:

好煩啊,居然還不給用現有的,偷別人的看看算了。0.0

這道題換句話說: 除數能減去多少個被除數.

class solution:

def divide(self, divd: int, dior: int) -> int:

res = 0

sign = 1 if divd ^ dior >= 0 else -1#判斷是否為負

#print(sign)

divd = abs(divd)

dior = abs(dior)

while divd >= dior:

tmp, i = dior, 1

while divd >= tmp:

divd -= tmp

res += i

i <<= 1

tmp <<= 1

res = res * sign

return min(max(-2**31, res), 2**31-1)

LeetCode 029 兩數相除

029 兩數相除 給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數 dividend 除以除數 divisor 得到的商。示例 1 輸入 dividend 10,divisor 3 輸出 3 示例 2 輸入 dividen...

LeetCode 029 兩數相除

給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數 dividend 除以除數 divisor 得到的商。整數除法的結果應當截去 truncate 其小數部分,例如 truncate 8.345 8 以及 truncate ...

LeetCode 兩數相除

題目 給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數dividend除以除數divisor得到的商。示例 1 輸入 dividend 10,divisor 3輸出 3示例 2 輸入 dividend 7,divisor 3輸出...