当前位置:网站首页>剑指 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;
}
}
边栏推荐
猜你喜欢
自监督论文阅读笔记Reading and Writing: Discriminative and Generative Modelingfor Self-Supervised Text Recogn
进程间通信IPC - 信号量
自监督论文阅读笔记 TASK-RELATED SELF-SUPERVISED LEARNING FOR REMOTE SENSING IMAGE CHANGE DETECTION
自监督论文阅读笔记 DenseCL:Dense Contrastive Learning for Self-Supervised Visual Pre-Training
window下VS2022封装动态库以及调用动态库
ZEMAX | 如何倾斜和偏心序列光学元件
ucos任务调度原理
opencv透视变化
什么是参数化设计,通过实操了解一下? | SOLIDWORKS 操作视频
A.1#【内存管理】——1.1.3 page: struct page
随机推荐
深度学习理论课程第八、九、十章总结
2021-03-22
MySql的Sql语句的练习(试试你能写出来几道呢)
设备树解析源码分析<devicetree>-1.基础结构
电子元器件和电子元件的区别有那些?
SQLMAP介绍及使用
神经网络基础
三分钟看懂二极管的所有基础知识点
ASP.NET MVC:自定义 Route
借助ginput函数在figure窗口实时读取、展示多条曲线的坐标值
浮点型数据在内存中存储的表示
电子元器件的分类有哪些?
【第三周】ResNet+ResNeXt
MMU 介绍-[TBL/page table work]
Kotlin 中的泛型介绍
@JsonProperty和JSONField的区别?
自监督论文阅读笔记SELF-SUPERVISED SPECTRAL MATCHING NETWORK FOR HYPERSPECTRAL TARGET DETECTION
enum和enum class的区别
内网渗透之PPT票据传递攻击(Pass the Ticket)
快速的将结构体各成员清零