题目

疑难点
int类型转成字符串
a = 1
str = ""
str += f'{a}'
print(str)
代码实现
def divide(self, dividend, divisor):
"""
:type dividend: int
:type divisor: int
:rtype: int
"""
INT_MIN,INT_MAX = -2**31,2**31-1
if dividend == INT_MIN:
if divisor == 1:
return INT_MIN
if divisor == -1:
return INT_MAX
if divisor == INT_MIN:
return 1 if dividend == INT_MIN else 0
if dividend == 0:
return 0
rev = False
if dividend > 0:
dividend = -dividend
rev = not rev
if divisor > 0:
divisor = -divisor
rev = not rev
def quickAdd(x,y,z):
if z == 0:
return 0
u = quickAdd(x,y,z
if z%2 == 0:
return u+u
else:
return u+u+y
def chick(zy,x):
if zy>=x:
return True
else:
return False
left = 1
right = INT_MAX
ans = 0
while left <= right:
mid = left + ((right - left)>>1)
temp = quickAdd(dividend,divisor,mid)
cik = chick(temp,dividend)
if cik:
ans = mid
if mid == INT_MAX:
break
left = mid + 1
else:
right = mid - 1
return -ans if rev else ans

def myPow(self, x, n):
"""
:type x: float
:type n: int
:rtype: float
"""
def quickMul(N):
if N==0:
return 1
y = quickMul(N
if N%2==0:
return y*y
else:
return y*y*x
if n >= 0:
return quickMul(n)
else:
return 1/quickMul(-n)