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

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

class Solution {public:    int divide(int dividend, int divisor) {        if (divisor == 0 || (dividend == INT_MIN && divisor == -1)) return INT_MAX;        long long m = abs((long long)dividend), n = abs((long long)divisor), res = 0;        int sign = ((dividend < 0) ^ (divisor < 0)) ? -1 : 1;        if (n == 1) return sign == 1 ? m : -m;        while (m >= n) {            long long t = n, p = 1;            while (m >= (t << 1)) {                t <<= 1;                p <<= 1;            }            res += p;            m -= t;        }        return sign == 1 ? res : -res;    }};

转载于:https://www.cnblogs.com/smallredness/p/10672978.html

你可能感兴趣的文章
Android滑动到顶部悬停
查看>>
Swift - 使用NSNotificationCenter发送通知,接收通知
查看>>
Swift - 自定义单元格实现微信聊天界面
查看>>
React项目需要安装的第三方插件或包随手一记-----------------------------------------【凤、独影】...
查看>>
HDU 4799 LIKE vs CANDLE 树形dp
查看>>
Python学习--打码平台
查看>>
安卓应用的界面编程(2)
查看>>
【[HNOI2008]GT考试】
查看>>
[NOI2016]循环之美
查看>>
VS2017 -error LNK1104: 无法打开文件“msvcprtd.lib”
查看>>
Spring3系列4-多个配置文件的整合
查看>>
开始→运行(cmd)命令大全
查看>>
大小写转换
查看>>
第一篇
查看>>
linux基础知识学习笔记
查看>>
[转] 窗口封装类与Windows窗口实例的关系-3、CWnd如何处理窗口消息
查看>>
2018总结之一个有仪式感的2019启航
查看>>
3.31
查看>>
Linux静态路由配置
查看>>
进程通信方式-线程通信方式
查看>>