zoukankan      html  css  js  c++  java
  • leetcode29 Divide Two Integers

     1 """
     2 Given two integers dividend and divisor, divide two integers without using multiplication, division and mod operator.
     3 Return the quotient after dividing dividend by divisor.
     4 The integer division should truncate toward zero.
     5 Example 1:
     6 Input: dividend = 10, divisor = 3
     7 Output: 3
     8 Example 2:
     9 Input: dividend = 7, divisor = -3
    10 Output: -2
    11 """
    12 """
    13 正确答案,先减第一个,再减double
    14 """
    15 class Solution:
    16     def divide(self, dividend: int, divisor: int) -> int:
    17         res = 0
    18         positive = (dividend < 0) is (divisor < 0)
    19         dividend = abs(dividend)
    20         divisor = abs(divisor)
    21         while dividend >= divisor:
    22             temp, i = divisor, 1
    23             while dividend >= temp: #多加了一层循环,是为了避免超时
    24                 res += i
    25                 dividend -= temp
    26                 i = 2*i
    27                 temp = 2*temp
    28         if not positive:
    29             res = - res
    30         return min(max(-2147483648, res), 2147483647) #!!!这个范围限制很巧妙
    31 
    32 """
    33 我的答案,一个一个减会超时
    34 """
    35 class Solution:
    36     def divide(self, dividend, divisor):
    37         neg = 0
    38         res = 0
    39         if dividend > 0 and divisor < 0 or divisor > 0 and dividend < 0:
    40             neg = 1
    41         dividend = abs(dividend)
    42         divisor = abs(divisor)
    43         while dividend >= divisor:
    44             dividend = dividend - divisor
    45             res += 1
    46         if neg:
    47             res = - res
    48         return min(max(-2147483648, res), 2147483647)
  • 相关阅读:
    python读取csv数据(添加列名,指定分隔方式)
    loc_survived
    数据预处理
    hadoop 指令
    pd.concat
    DataFrame
    SQL左连接
    mysql mysql之把查询的结果保存到新表(小知识点)
    啦啦啦啦 mysql 授权
    ArrayList和LinkedList的区别以及优缺点
  • 原文地址:https://www.cnblogs.com/yawenw/p/12340356.html
Copyright © 2011-2022 走看看