leetcode :Binary Search: Divide Two Integers(029)

原创 2016年08月28日 15:56:43

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

If it is overflow, return MAX_INT.


算法

o(nlgn)



typedef long long ll;
class Solution {
public:
    int divide(int dividend, int divisor) {
        ll a = dividend >= 0 ? dividend : -(ll)dividend;
        ll b = divisor >= 0 ? divisor : -(ll)divisor;
        ll result = 0, c = 0;
        bool sign = (dividend > 0 && divisor < 0) ||
            (dividend < 0 && divisor > 0);

        while (a >= b) {
            c = b;
            for (int i = 0; a >= c; i++, c <<= 1) {
                a -= c;
                result += (1<<i);
            }
        }
        if (sign) {
            return max((ll)INT_MIN, -result);
        } else {
            return min((ll)INT_MAX, result);
        }
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

51nod 1305 Pairwise Sum and Divide (数学)

有这样一段程序,fun会对整数数组A进行求值,其中Floor表示向下取整: fun(A)     sum = 0     for i = 1 to A.length         f...
  • h1021456873
  • h1021456873
  • 2015年10月27日 23:33
  • 749

x^A=B(mod C)的解 (离散对数与原根)

题目:Broot 题意:给出k,m,newx的值,求方程x^k(mod m)=newx的解,其中m为素数。 解法步骤: (1)先暴力求m的原根g (2)大步小步求g^t1(mod m)=new...
  • ACdreamers
  • ACdreamers
  • 2013年07月26日 20:49
  • 5009

OpenCV3.0来啦

千呼万唤始出来,说了很久的Openvv3.0Alpha
  • fairylrt
  • fairylrt
  • 2014年08月22日 02:08
  • 4761

LeetCode 29 Divide Two Integers (C,C++,Java,Python)

Problem: Divide two integers without using multiplication, division and mod operator. If it ...
  • runningtortoises
  • runningtortoises
  • 2015年05月13日 09:27
  • 1807

Divide Two Integers -- LeetCode

原题链接: http://oj.leetcode.com/problems/divide-two-integers/  这道题属于数值处理的题目,对于整数处理的问题,在Reverse Integer...
  • linhuanmars
  • linhuanmars
  • 2014年02月27日 05:41
  • 26746

POJ刷题顺序

1000 A+B Problem 0.55 188072 338977 1004 Financial Management 0.41 58282 140301 1003 Hangover 0.48...
  • xgogoforit
  • xgogoforit
  • 2016年03月27日 12:34
  • 1300

CRF++模型文件格式分析

CRF++一种用c++实现条件随机场模型的开源工具,性能好,被广泛用于在自然语言处理中。由于其实现复杂,很难理解,下面用文本方式来表述其模型文件的结构,希望加深对其实现方式的理解。 下面是对其模型文...
  • Harry_lyc
  • Harry_lyc
  • 2012年05月11日 10:50
  • 4839

LeetCode --- 29. Divide Two Integers

题目链接:Divide Two Integers Divide two integers without using multiplication, division and mod operato...
  • makuiyu
  • makuiyu
  • 2015年02月02日 21:58
  • 1052

LeetCode 29 Divide Two Integers 除法的原理

Divide Two Integers Divide two integers without using multiplication, division and mod operat...
  • gx262091291
  • gx262091291
  • 2015年08月22日 22:19
  • 1374

POJ 刷题顺序

POJ从简到难(按照AC数目排序)的列表
  • XNDXFSZX
  • XNDXFSZX
  • 2016年01月24日 14:49
  • 3005
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode :Binary Search: Divide Two Integers(029)
举报原因:
原因补充:

(最多只允许输入30个字)