博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LeetCode】Divide Two Integers
阅读量:5896 次
发布时间:2019-06-19

本文共 742 字,大约阅读时间需要 2 分钟。

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){ long temp = b; long p = 1; while(a>=(temp<<1)){ temp<<=1; p<<=1; } a-=temp; res+=p; } res = sign*res; return (int) res; }

 

转载于:https://www.cnblogs.com/sMKing/p/6596734.html

你可能感兴趣的文章
在大公司呆5年,你就废了
查看>>
mac mamp mysql no start servel
查看>>
单例,线程安全
查看>>
Docker简易版:使用更少击键运行Redis,MongoDB
查看>>
javascript身份证简单校验
查看>>
laravel框架快速入门(一)
查看>>
swing 鼠标监听addMouseMotionListener
查看>>
windows下设置网络pingIP地址
查看>>
js如何实现10秒倒计
查看>>
ubuntu下解决鼠标滚轮不能使用的问题
查看>>
隐马尔可夫(HMM)、前/后向算法、Viterbi算法 再次总结
查看>>
LAV Filters
查看>>
多媒体客服的选择与应用
查看>>
iOS11 automaticallyAdjustsScrollViewInsets和estimatedRowHeight适配
查看>>
订阅linux kernel的mail list
查看>>
mysql 批量更新多条记录(且不同值)的实现方法
查看>>
Hadoop上路_02-hadoop介绍和环境准备
查看>>
JFinal多参数搜索条件自动组装及参数传递
查看>>
Lua与ObjC的交互
查看>>
c++ ios_base register_callback方法使用
查看>>