LeetCode 29 - Divide Two Integers
来源:互联网 发布:多线程编程java 方法 编辑:程序博客网 时间:2024/06/16 17:06
Divide Two Integers
Divide two integers without using multiplication, division and mod operator.
If it is overflow, return MAX_INT.
My Code
class Solution {public: int divide(int dividend, int divisor) { if (divisor == 0) return INT_MAX; if (dividend == 0) return 0; if (divisor == 1) return dividend; if (divisor == -1) if (dividend == INT_MIN) return INT_MAX; else return -dividend; int sign = (dividend > 0 ^ divisor > 0) ? -1 : 1; long long_dividend = abs((long)dividend); long long_divisor = abs((long)divisor); int result = 0; while (long_dividend >= long_divisor) { long val = long_divisor; long multiplier = 1; while (long_dividend > (val << 1)) { multiplier <<= 1; val <<= 1; } result += multiplier; long_dividend -= val; } return sign * result; }};Runtime: 8 ms
0 0
- leetcode 29: Divide Two Integers
- LeetCode(29)Divide Two Integers
- [leetcode 29] Divide Two Integers
- [leetcode] 29 Divide Two Integers
- leetcode 29 Divide Two Integers
- Leetcode 29 Divide Two Integers
- LeetCode 29 - Divide Two Integers
- leetcode 29 -- Divide Two Integers
- leetcode 29:Divide Two Integers
- leetcode 29: Divide Two Integers
- Leetcode#29 Divide Two Integers
- LeetCode(29)Divide Two Integers
- LeetCode-29 Divide Two Integers
- Leetcode#29||Divide Two Integers
- leetcode-29 Divide Two Integers
- leetcode 29:Divide Two Integers
- leetcode 29:Divide Two Integers
- LeetCode 29: Divide Two Integers
- Wpf的数据绑定(一)
- 微信开发网页授权OAuth2.0注意事项
- 如何删除activity中的contentView
- C语言-位运算
- MongoDB数据的安装与启动
- LeetCode 29 - Divide Two Integers
- 重要网址
- C语言-文件模块与引用
- 链表学习关键点
- H.264流媒体协议格式中的Annex B格式和AVCC格式深度解析
- C语言-线程基础
- android SurfaceView实现视频播放
- C语言-预处理命令
- Storm的基本概念