0029. 两数相除 #
- 标签:
- 难度:中等
一、题目说明 #
描述
给你两个整数,被除数dividend
和除数divisor
。将两数相除,要求不使用乘法、除法和取余运算。
整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345
将被截断为 8
,-2.7335
将被截断至-2
。
返回被除数dividend
除以除数divisor
得到的 商 。
注意:假设我们的环境只能存储 32
位 有符号整数,其数值范围是$[−2^{31},2^{31}−1]$。本题中,如果商严格大于$2^{31}−1$,则返回$2^{31}−1$;如果商严格小于$-2^{31}$,则返回$-2^{31}$ 。
示例
- 示例 1:
输入: dividend = 10, divisor = 3
输出: 3
解释: 10/3 = 3.33333.. ,向零截断后得到 3 。
- 示例2:
输入: dividend = 7, divisor = -3
输出: -2
解释: 7/-3 = -2.33333.. ,向零截断后得到 -2 。
提示
-
$-2^{31} <= dividend, divisor <= 2^{31} - 1$
-
divisor != 0