leetcode 29 兩數相除

2021-09-12 07:00:14 字數 658 閱讀 1998

給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法、除法和 mod 運算子。

返回被除數dividend除以除數divisor得到的商。

示例 1:

輸入:dividend = 10, divisor = 3輸出:3
示例 2:

輸入:dividend = 7, divisor = -3輸出:-2
說明:

思路:可以將 deivdend 減去 divisor,看看有多少個 divisor,要注意符號的問題,但這個解答太慢了。以及最小數除以 -1 的時候變為最大數,而不是最小數的絕對值,因為最小數的絕對值已經超出了 int 型別的範圍。

class solution 

res += p;

m -=t;

}return sign==1?res:-res;

}}

LeetCode29 兩數相除

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

LeetCode 29 兩數相除

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

LeetCode 29 兩數相除

題目要求不能使用乘法 除法和除餘運算,但我們可以將除法轉移到對數域。frac e e 這樣就轉化為指數 對數和減法運算了。因為只能對正整數取對數,因此我們首先要將兩個數都取絕對值,最後再加上符號。同時,題目要求只能儲存 32 位有符號整數,因此,當資料大於上邊界時,需要進行特殊處理。class so...