【Leetcode】Divide Two Integers
来源:互联网 发布:广州unity3d招聘 编辑:程序博客网 时间:2024/06/15 17:00
Divide two integers without using multiplication, division and mod operator.If it is overflow, return MAX_INT.
简单解法:O(dividend/divisor)
public class Solution { public int divide(int dividend, int divisor) { int result = 0; int negative = 1; if(dividend < 0 && divisor > 0) {negative = -1; dividend = -dividend;} if(dividend > 0 && divisor < 0) {negative = -1; divisor = -divisor;} while(dividend >= 0){ dividend -= divisor; result++; } result--; return result*negative; }}
位移算法:
public class Solution { public int divide(int dividend, int divisor) { if(divisor == 0) return Integer.MAX_VALUE; if(divisor == -1 && dividend == Integer.MIN_VALUE) return Integer.MAX_VALUE; if(dividend == divisor) return 1; int result = 0; int negative = 1; long divid = (long) dividend; long divis = (long) divisor; if(dividend < 0) {divid = -divid;} if(divisor < 0) {divis = -divis;} if((dividend < 0 && divisor > 0) || (dividend > 0 && divisor < 0)) negative = -1; long newDivis = divis; while(divid >= divis){ int i = 1; while(newDivis <= divid){ newDivis = divis << i; i++; } divid -= divis << (i - 2); result += 1 << (i-2); newDivis = divis; } return result*negative; }}
0 0
- LeetCode: Divide Two Integers
- [LeetCode]Divide Two Integers
- LeetCode: Divide Two Integers
- [LeetCode] Divide Two Integers
- [Leetcode] Divide Two Integers
- LeetCode Divide Two Integers
- 【leetcode】Divide Two Integers
- [LeetCode]Divide Two Integers
- LeetCode-Divide Two Integers
- LeetCode: Divide Two Integers
- Divide Two Integers - leetcode
- Leetcode: Divide Two Integers
- LeetCode:Divide Two Integers
- leetcode Divide Two Integers
- LeetCode Divide Two Integers
- LeetCode | Divide Two Integers
- Leetcode: Divide Two Integers
- Divide Two Integers -- LeetCode
- xserver源码分析之解析xorg.conf
- MySQL中BLOB字段类型介绍
- GetIconWndClass注册窗口类
- eclipse Debug 技巧 1
- MyBatis配置详解
- 【Leetcode】Divide Two Integers
- 构建平台
- 安装配置Linux ftp服务及用IE访问Linux ftp
- backpack
- 机器学习中的相似性度量
- 4.1
- Ubuntu 14.04 64位机上用Caffe+MNIST训练Lenet网络操作步骤
- C++中的static关键字
- Android中监听ListView滑动到底部