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)
  • 相关阅读:
    协议
    网页制作
    知识点--------二维数组
    方法---------拖延,清屏,前景色,背景色
    小知识点------遍历数组、switch case、do while
    知识点-----------函数
    循环经典--------冒泡排序,查找。
    知识点-------一维数组
    循环语句-----经典案例
    知识点--循环语句
  • 原文地址:https://www.cnblogs.com/yawenw/p/12340356.html
Copyright © 2011-2022 走看看