• Divide Two Integers leetcode java


    题目

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

    题解

    这道题我自己没想出来。。。乘除取模都不让用。。那只有加减了。。。我参考的http://blog.csdn.net/perfect8886/article/details/23040143

    代码如下:

     1      public int divide(int dividend, int divisor) {  
     2         if (dividend == 0 || divisor == 0) {  
     3             return 0;  
     4         }  
     5         boolean isNeg = (dividend > 0 && divisor < 0)  
     6                 || (dividend < 0 && divisor > 0);  
     7         long a = Math.abs((long) dividend);  
     8         long b = Math.abs((long) divisor);  
     9         if (b > a) {  
    10             return 0;  
    11         }  
    12   
    13         long sum = 0;  
    14         long pow = 0;  
    15         int result = 0;  
    16         while (a >= b) {  
    17             pow = 1;  
    18             sum = b;  
    19             while (sum + sum <= a) {  
    20                 sum += sum;  
    21                 pow += pow;  
    22             }  
    23             a -= sum;  
    24             result += pow;  
    25         }  
    26         return isNeg ? -result : result;  
    27     } 

    Reference:

     http://blog.csdn.net/perfect8886/article/details/23040143

  • 相关阅读:
    Spring MVC 教程(比较全的一篇文章了)
    关于F12的有效利用
    论运营工作与小区收垃圾的相似之处
    吴淞炮台湾湿地森林公园半日游
    真正的运营
    今天是入职通联3周年
    甲午年过临海
    购买vps创建账号后无法登录ftp
    prim+BFS
    最小生成树
  • 原文地址:https://www.cnblogs.com/springfor/p/3871008.html
Copyright © 2020-2023  润新知