兩數相除(Java)

2021-09-11 01:27:25 字數 1081 閱讀 7067

given two integersdividendanddivisor, divide two integers without using multiplication, division and mod operator.

return the quotient after dividingdividendbydivisor.

the integer division should truncate toward zero.

example 1:

input: dividend = 10, divisor = 3

output: 3

example 2:

input: dividend = 7, divisor = -3

output: -2

只要理解了計算機中除法的原理,模擬思路就可以處理的比較好。

麻煩之處在於邊界的處理上。

方法一: 模擬計算機中的除法操作。

ac**如下: 16ms

class solution 

return len;

}public int getbit(long num,int index)

}

方法二: 在網上找到一種解法,利用位運算,意思是任何乙個整數可以表示成以2的冪為底的一組基的線性組合,即num=a_0*2^0+a_1*2^1+a_2*2^2+...+a_n*2^n。基於以上這個公式以及左移一位相當於乘以2,我們先讓除數左移直到大於被除數之前得到乙個最大的基n的值,說明被除數中至少包含2^n個除數,然後減去這個基數,再依次找到n-1,...,1的值。將所有的基數相加即可得到結果。 

具體**如下: 24ms

class solution 

ans=ans+count;

m=m-temp;

}return flag?ans:-ans;

}}

求兩整數相除 29 兩數相除

給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數 dividend 除以除數 divisor 得到的商。示例1 輸入 dividend 10,divisor 3 輸出 3 示例2 輸入 dividend 7,divisor...

LeetCode 兩數相除

題目 給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數dividend除以除數divisor得到的商。示例 1 輸入 dividend 10,divisor 3輸出 3示例 2 輸入 dividend 7,divisor 3輸出...

兩數相除 kotlin

給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數dividend除以除數divisor得到的商。示例 1 輸入 dividend 10,divisor 3 輸出 3 示例 2 輸入 dividend 7,divisor 3 輸出...