LeetCodeDivide Two Integers

Posted 小猴子爱吃桃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCodeDivide Two Integers相关的知识,希望对你有一定的参考价值。

Divide two integers without using multiplication, division and mod operator.

If it is overflow, return MAX_INT.

 

题目要求不能使用除号、乘号和取余操作符。

我们使用移位操作符。<< 左移代表乘以2,>>右移代表除以2

//a,b分别为被除数和除数
    public int divide(int a,int b){
        long res=0;
        int sign = 1;
        if((a<0 && b>0)||(a>0&&b<0)){
            sign = -1;
        }
        if(b==0||(a==Integer.MIN_VALUE&&b==-1)){
            return Integer.MAX_VALUE;
        }
        if(a<b){
            return 0;
        }
        while(a>b){
            long temp = b;
            long p = 1;
            while(a>=(temp<<1)){
                temp<<=1;
                p<<=1;
            }
            a-=temp;
            res+=p;
        }
        res = sign*res;
        return (int) res;
    }

 

以上是关于LeetCodeDivide Two Integers的主要内容,如果未能解决你的问题,请参考以下文章

445. Add Two Numbers II 两个数字相加2

js 验证

常用正则表达式

Jquery-数据验证JS工具checkUtils

Spring - HV000030: No validator could be found for constraint ‘xx‘ validating type ‘java.lang.Intege

常用的JQuery数字类型验证正则表达式整理