leetcode29 兩數相除

2021-10-19 10:00:22 字數 588 閱讀 2950

class

solution

new_divisor>>=1;

answer>>=1;

new_dividend-

=new_divisor;

return flag?

(answer+

n_divide

(new_dividend,n_divisor)):

-(answer+

n_divide

(new_dividend,n_divisor));

}int

n_divide

(int dividend,

int divisor)

divisor>>=1;

answer>>=1;

dividend-

=divisor;

return answer+

n_divide

(dividend,n_divisor);}

};

測試案例針對邊界,所以把範圍擴大了。

思路類似輾轉相除法,利用位運算被除數每次減去除數乘以2的最大次方,直到減到比除數小,這裡可以直接遞迴。

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 兩數相除

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