Divide two integers without using multiplication, division and mod operator.
If it is overflow, return MAX_INT.
看了网上的拆分思路,逻辑写出来是不难的,但-2147483648/1和-2147483648/-1是难点
package pack;
class Solution {
public int divide(int dividend, int divisor) {
return (int)divideL(dividend, divisor); //如果不用去long里面做,-2147483648/1很难解决
}
/*例如计算:87/4
* 87=4*2^4+4*2^2+4*2^1
* 87=4*(2^4+2^2+2^1) ,而括号里的数就是我们要求的结果

这篇博客探讨了如何在不使用乘法、除法和取模运算符的情况下,进行两个整数的除法操作。文章特别指出,处理-2147483648除以1和-1的情况是算法中的难点,可能会涉及溢出问题。
订阅专栏 解锁全文
163

被折叠的 条评论
为什么被折叠?



