兩數相除跳轉
//相同的值,直接返回
if(dividend == divisor)
return flag ?-1
:1;//大於半數的值,直接返回
if(divisor <= integer.min_value >>
1&& dividend < divisor)
return flag ?-1
:1;//尋找到乙個最大的除數的倍數
int i;
for(i =
0; i <
31; i++)}
i--;//從最大的依次往下減
for(
; i >=
0; i--)}
//異號直接返回,整數之間不存在溢位
if(flag)
return total;
//本處其實只針對 -2147483648 和 -1 這一種情況
if(total == integer.min_value)
return integer.max_value;
//同號返回
return
-total;
}
LeetCode 兩數相除
題目 給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數dividend除以除數divisor得到的商。示例 1 輸入 dividend 10,divisor 3輸出 3示例 2 輸入 dividend 7,divisor 3輸出...
LeetCode 兩數相除
給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數 dividend 除以除數 divisor 得到的商。示例 1 輸入 dividend 10,divisor 3 輸出 3 示例 2 輸入 dividend 7,divis...
LeetCode 兩數相除
給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數 dividend 除以除數 divisor 得到的商。示例 1 輸入 dividend 10,divisor 3 輸出 3 示例 2 輸入 dividend 7,divis...