(Medium) 29. Divide Two Integers #水

Given two integers dividend and divisor, divide two integers without using multiplication, division, and mod operator.

Return the quotient after dividing dividend by divisor.

The integer division should truncate toward zero, which means losing its fractional part. For example, truncate(8.345) = 8 and truncate(-2.7335) = -2.

Note:

Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range: [−2^31, 2^31 − 1]. For this problem, assume that your function returns 231 − 1 when the division result overflows.

Example 1:

Input: dividend = 10, divisor = 3
Output: 3
Explanation: 10/3 = truncate(3.33333..) = 3.

Example 2:

Input: dividend = 7, divisor = -3
Output: -2
Explanation: 7/-3 = truncate(-2.33333..) = -2.

Example 3:

Input: dividend = 0, divisor = 1
Output: 0
Example 4:

Input: dividend = 1, divisor = 1
Output: 1

Constraints:

-2^31 <= dividend, divisor <= 2^31 - 1
divisor != 0


Solution:
被除数 / 除数 = 商数
return 商数 <-- 取整数即可
如果 商数大於 2^32 -1 则回传 2^32 -1

Code:

class Solution:
    def divide(self, dividend: int, divisor: int) -> int:
        quotient = dividend / divisor
        print(int(quotient))
        if int(quotient) > (pow(2,31)-1):
            return pow(2,31)-1
        return int(quotient)

Result:
https://ithelp.ithome.com.tw/upload/images/20201012/201115161aMDNXINHH.jpg


<<:  【Day29】Pixi-AnimatedSprite

>>:  生存法则二:快速学习的能力

【Side Project】 菜单内容2-ORM( SqlSugar)

昨天把我们的资料库架好了, 今天我们接着把专案连上资料库吧。 建立新资料 开启SSMS(登入帐号) ...

DAY19 - 在win10家用版上安装Docker Desktop

前言 铁人赛进入第十九天,今天要来讲讲如何用Docker 打造程序开发环境 Docker 的维基百科...

[Day26] VSCode Plugin - Edge Tools<未完>

Show the browser's Elements and Network tool insi...

Day 3 - 条件式

条件式就是小学常写的造样造句:如果...就(否则)...的概念。 这边会介绍几种常用的条件式语句 i...

Day#04 TableView

前言 承接昨天的内容,今天来加上viewDidLoad中的逻辑内容{ @•̀ꈊ•́@ } 学习资源 ...