Leetcode -- Divide Two Integers
2015-10-27 21:16
447 查看
Divide two integers without using multiplication, division and mod operator.
If it is overflow, return MAX_INT.
If it is overflow, return MAX_INT.
class Solution { public: long long divide_(long long a,long long b) { int flag = 1; long long x=1; if(a<0) {a=-a;flag=-flag;} if(b<0) {b=-b;flag=-flag;} if(a==0) return 0; if(a==b) return flag; if(a<b) return 0; long long c=b; while(b<=a) { b<<=1; x<<=1; } b>>=1; x>>=1; long long res = x+divide_(a-b,c); if(flag==-1) return -res; return res; } int divide(int dividend, int divisor) { long long res = divide_(dividend,divisor); if(res>INT_MAX) return INT_MAX; return res; } };
相关文章推荐
- boost::regex
- 倒车流程2
- 整合spring,springmvc和mybatis
- 【VMware虚拟化解决方案】如何选择虚拟化产品
- Material Design Support Library中NavigationView添加下划线
- IOS开发笔记15-OC基础语法
- 迁移学习 transfer learning
- [实战]MVC5+EF6+MySql企业网盘实战(9)——编辑文件名
- 信息安全系统设计基础第六周学习总结-吕松鸿
- JS小函数
- android.view.InflateException: Binary XML file line #247: Error inflating class <unknown>
- 【SSH项目实战】国税协同平台-9.全局异常映射
- Centos6.6网络配置方法
- 距离变换
- 声波通信(SinVoice)代码解读(一) 如何产生给定频率的声音
- 电影记录管理系统 修改与注释,完整代码
- Java Enum详解
- 【Unified Auditing】统一审计的存储架构体系
- 等差数列/等比数列通项公式与求和公式
- 如何查看自己电脑支持OpenGL core版本