当前位置:网站首页>剑指 Offer II 001. 整数除法
剑指 Offer II 001. 整数除法
2022-08-03 05:25:00 【花开花落夏】
题目
给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 ‘*’、除号 ‘/’ 以及求余符号 ‘%’ 。
注意:
整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231−1]。本题中,如果除法结果溢出,则返回 231 − 1
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/xoh6Oh
解题
class Solution {
public int divide(int a, int b) {
boolean isNegative = true;
int result = 0;
if(a==0){
return 0;
}
if(b==Integer.MIN_VALUE){
return a==Integer.MIN_VALUE?1:0;
}
if((a>0&&b>0)||(a<0&&b<0)){
isNegative = false;
}
if(a==Integer.MIN_VALUE){
if(b==-1){
return Integer.MAX_VALUE;
}else{
a+=Math.abs(b);
result++;
}
}
a=a>0?a:-a;
b=b>0?b:-b;
for(int i=31;i>=0;i--){
if((a>>i)>=b){
a-=b<<i;
result+=1<<i;
}
}
return isNegative?-result:result;
}
}

边栏推荐
猜你喜欢
随机推荐
【七夕特效】 -- 满屏爱心
ucosII OSMemCreate()函数的解析
【第四周】MobileNet和HybridSN
VCC(电源)和 GND(地)之间电容的作用
中空编码器的作用——唯样商城
Phase Vocoder的补充完善,Matlab音频变速不变调、变调不变速
ZEMAX | 如何使用ZOS-API创建自定义操作数
A.1#【内存管理】——1.1.2 zone: struct zone
二叉树常见的问题和解决思路
MySql的Sql语句的练习(试试你能写出来几道呢)
自监督论文阅读笔记 TASK-RELATED SELF-SUPERVISED LEARNING FOR REMOTE SENSING IMAGE CHANGE DETECTION
2021-04-23
各种cms getshell技巧
KASLR-内核地址空间布局随机化
opencv透视变化
MCU接收串口字符型数据转换成数据型数据
基于南航app直减自动出票
自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery
自监督论文阅读笔记 SimCLRV2 Big Self-Supervised Models are Strong Semi-Supervised Learners
Windos 内网渗透之Token的使用









