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

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

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

If it is overflow, return MAX_INT.

Solution:

1 public class Solution { 2     public int divide(int dividend, int divisor) { 3         if (divisor==0) return Integer.MAX_VALUE; 4         if (dividend==0) return 0; 5         if (divisor==1) return dividend; 6         if (dividend==Integer.MIN_VALUE && divisor==-1) return Integer.MAX_VALUE; 7  8         boolean neg = false; 9         //change to all negtive number.10         if (dividend>0){11             dividend = -dividend;12             neg = !neg;13         }14         if (divisor>0){15             divisor = - divisor;16             neg = !neg;17         }18 19         int minDivisor = Integer.MIN_VALUE >> 1;20         int cur = divisor;21         int val = 1;22         while (cur>=minDivisor && cur>dividend){23             cur <<= 1;24             val <<= 1;25         }26 27         int res = 0;28         while (dividend<=divisor){29             while (cur
>= 1;31 val >>= 1;32 }33 dividend -= cur;34 res += val;35 }36 37 if (neg) return -res;38 else return res;39 }40 }

 

转载于:https://www.cnblogs.com/lishiblog/p/4166263.html

你可能感兴趣的文章
从开始学编程过了半年了……
查看>>
【05月22日】预分红股息率最高排名
查看>>
Android学习总结(二)——Service基本概念和生命周期
查看>>
chr()//ord() //进制转换函数//eval()//文件函数//split()
查看>>
第一章 Java程序设计概述
查看>>
定时调动 (项目保留备份代码码)
查看>>
Leetcode-Divide Two Integers
查看>>
HTML 首页倒三角形导航块
查看>>
每天一道Java题[9]
查看>>
结对编程2——单元测试
查看>>
python 函数/列表的应用
查看>>
C#与MES
查看>>
LR接口测试---Java Vuser之jdbc查询(调试前)
查看>>
SQL Server 各版本安装包分享
查看>>
.net项目移植后的虚拟目录的配置问题
查看>>
JSP页面中引入另一个JSP页面
查看>>
Android笔记——活动的生命周期
查看>>
springmvc使用包装的pojo接收商品信息的查询条件
查看>>
【Linux】【Services】【Configuration】puppet
查看>>
poj 1002:487-3279(水题,提高题 / hash)
查看>>