给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
返回被除数 dividend 除以除数 divisor 得到的商。
示例
示例 1: |
示例 2: |
说明:
被除数和除数均为 32 位有符号整数,且除数不为 0。
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。本题中,如果除法结果溢出,则返回 2^31 − 1。
解法
核心思想:用减法代替除法操作,用左移来增大两倍,不断增大被除数来减少执行次数
class Solution: |