首页 > 其他分享 >29. Divide Two Integers

29. Divide Two Integers

时间:2022-12-01 20:09:11浏览次数:42  
标签:Integers int res Two long 29 ddd 除数 dvr


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

If it is overflow, return MAX_INT.

那么如果每次不仅仅减去1个除数,计算速度就会增加,但是题目不能使用乘法,因此不能减去k*除数,我们可以对除数进行左移位操作,这样每次相当于减去2^k个除数,如何确定k呢,只要使 (2^k)*除数 <=  当前被除数 <(2^(k+1))*除数.

class Solution {
public:
int divide(int dividend, int divisor) {
long long ddd = dividend;
long long dvr = divisor;
ddd = abs(ddd);
dvr = abs(dvr);
long long res = 0;
while (ddd >= dvr){
long long tmp = dvr;
unsigned int i = 0;
while (tmp <= ddd){
tmp <<= 1;
i++;
}
res += ((unsigned)1 << (i - 1));
ddd -= (dvr << (i - 1));
}
return (dividend < 0 ^ divisor < 0) ? -res:(res>INT_MAX ? INT_MAX : res);
}
};



标签:Integers,int,res,Two,long,29,ddd,除数,dvr
From: https://blog.51cto.com/u_15899184/5904043

相关文章

  • 《安富莱嵌入式周报》第293期:SEGGER开源其C/C++库源码emRun,丰富EMC电磁兼容资,OTA开源
    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版:https://www.bilibili.com/video/BV1ND4y1v7ik/ 1、......
  • 1+N环境MySQL8.0.29/30版本BUG处理措施
    背景:前期安全漏扫后,1+N环境中部分MySQL8.0数据库由低版本通过upgrade方式升级到8.0.29版本,后又升级到8.0.30版本。此版本的upgrade升级方式,在执行altertableaddcolmun......
  • 1. Two Sum
    1.TwoSumGivenanarrayofintegersnums andanintegertarget,returnindicesofthetwonumberssuchthattheyadduptotarget.Youmayassumethateach......
  • LeetCode刷题记录.Day29
    前K个高频元素classSolution{public://小顶堆classmycomparison{public:booloperator()(constpair<int,int>&lhs,constpair<int,......
  • 云计算CloudSim20221129
    贪心调度策略原本的想法是先计算time矩阵即每个任务在每个虚拟机下运行所需的时间首先维护每个虚拟机执行已经绑定的任务所需要的总时间然后我们按任务编号的顺序循环......
  • 29.1314
    #include<stdio.h>intf(inta[][3]);intmain(){ inta[3][3],i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); f(a);   return0;}intf(i......
  • 11.29小记
    会议号:795-775-9627首先是逝去的NOIP。我没想到NOIP2022倒在了我前面。总结就是题整体不难,但是有病。最有病的就是random_shuffle题目顺序。我觉得最优开题顺序......
  • 11.29
    今日内容1.SQL注入问题2.视图3.触发器4.事务5.存储过程6.函数7.流程控制8.索引相关概念9.索引数据结构10.慢查询优化11.联合索引全文索引12.插入数据13.更新......
  • 20221129 Maven - 尚硅谷【归档】
    参考资料尚硅谷2022版Maven教程(maven入门+高深,全网无出其右!)Maven官网POM参考mvnrepository代码重工前言视频时间:2022-2版本信息当前最新版本:3.8......
  • 11月29日内容总结——SQL注入问题、视图、触发器、事务、存储过程、函数、流程控制、
    目录一、SQL注入问题SQL注入问题引入SQL注入概念和解决方案二、视图三、触发器定义代码1.触发器命名有一定的规律2.临时修改SQL语句的结束符四、事务事务的四大特性(ACID)......