給定兩個整數,被除數dividend
和除數divisor
。將兩數相除,要求不使用乘法、除法和 mod 運算子。
返回被除數dividend
除以除數divisor
得到的商。
示例 1:
輸入: dividend = 10, divisor = 3
輸出: 3
示例 2:
輸入: dividend = 7, divisor = -3
輸出: -2
說明:題目看似簡單,坑還是蠻多的。
開始覺得只要拿到絕對值,除法轉為減法,a/b abs(a)- abs(b) 然後計數即可。嘗試了一下先不管方法是否可行,在a特別大,b特別小的時候這速度。。。。。此方案直接pass
任何乙個整數可以表示成以2的冪為底的一組基的線性組合
2的多少次方可以用位移操作來計算
class solution
result += c
dividendl -= temp
}return when }}
fun absmy(entry: long) = if(entry >0) entry else 0 - entry
注:leetcode上居然不支援預設的abs方法,沒轍了再外面自己瞎寫乙個湊合
求兩整數相除 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輸出...
29 兩數相除
這是數學題題啊,老本行。方法一 可以將除法轉移到對數域 b a eln b a e ln b ln a frac ab eln ab e lnb lna c code class solution 方法二 任何乙個整數可以表示成以2的冪為底的一組基的線性組合.分析 可以對被除數進行分解。以 10 和...