Leetcode初學 兩數相除

2021-10-02 09:45:44 字數 705 閱讀 1922

這道題目,表面上很簡單,實際上卻給我挖了個大坑

問題在什麼地方呢?

就是他的特殊情況的判定

由於題目要求,我們的環境只能儲存32位有符號整數,也就是說我們不能使用long型,只能用int型,因此而可能引發一系列的錯誤

先上**:

class solution 

int flag=-1;

if((dividend>0 && divisor>0) || (dividend<0 && divisor<0)) flag=1;

//這裡將兩個數都轉換為負數是為什麼呢?

//因為負數的空間比整數的大1,可以避免很多可能超出範圍的情況

dividend=-math.abs(dividend);

divisor=-math.abs(divisor);

int res=0;

while(dividend<0)

return res*flag;}}

執行結果也是極其低下

如果大佬們有更優秀的方法的話,歡迎交流

我先在角落畫畫圓圈

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...