亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

7. Reverse Integer

tianren124 / 1326人閱讀

摘要:題目鏈接思路因?yàn)橹械臄?shù)字是沒(méi)有的,即取決于電腦的內(nèi)存。不過(guò)題目有額外要求,假設(shè)我們只能處理的數(shù)字區(qū)間。所以需要另外加一個(gè)判斷。另外,內(nèi)置的函數(shù)可以把轉(zhuǎn)換成數(shù)字。數(shù)字要注意區(qū)分正負(fù)。負(fù)數(shù)反轉(zhuǎn)還是負(fù)數(shù)。

題目鏈接:Reverse Integer

思路
因?yàn)镻ython中的數(shù)字是沒(méi)有overflow的,即limit取決于電腦的內(nèi)存。不過(guò)題目有額外要求,假設(shè)我們只能處理
32-bit signed 的數(shù)字區(qū)間。 所以需要另外加一個(gè)判斷。另外,Python內(nèi)置的int()函數(shù)可以把 "001" 轉(zhuǎn)換成數(shù)字 1。

數(shù)字要注意區(qū)分正負(fù)。負(fù)數(shù)反轉(zhuǎn)還是負(fù)數(shù)。對(duì)于Python來(lái)說(shuō),有兩種解法:

可以把數(shù)字轉(zhuǎn)換成字符串反轉(zhuǎn)然后轉(zhuǎn)換回?cái)?shù)字

可以把反轉(zhuǎn)的數(shù)字乘以10加上x(chóng) % 10,x每次除以10直到0為止

算法復(fù)雜度
Pythonic:

時(shí)間:O(x)
空間:O(n) where n is the length of x

一般方法:

時(shí)間:O(logx) 
空間:O(n) where n is the length of x

代碼

Pythonic Approach

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        if x < 0:
            minus_sign = str(x)[0]
            abs_x = abs(x)
            res = minus_sign + str(abs_x)[::-1]
            if int(res) > 2**31-1 or int(res) < -2**31:
                return 0
            else:
                return int(res)
        else:
            if int(str(x)[::-1]) > 2**31-1 or int(str(x)[::-1]) < -2**31:
                return 0
            else:
                return int(str(x)[::-1])

一般方法

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        sign = 1 if x > 0 else -1
        x = abs(x)
        t = 0
        while x:
            t = t*10 + x % 10
            x  //= 10
        t = t * sign
        if t > 2**31-1 or t < -2**31:
            return 0
        else:
            return t


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/41951.html

相關(guān)文章

  • Leetcode 7 Reverse Integer 倒序整數(shù)

    摘要:原題目為難度此題讓我們輸出給定一個(gè)整數(shù)的倒序數(shù)比如倒序?yàn)榈剐驗(yàn)榈侨绻剐虻倪^(guò)程中發(fā)生整型溢出我們就輸出倒序不復(fù)雜關(guān)鍵在于如何判定將要溢出最終的程序如下其中是獲取的個(gè)位數(shù)字判定下一步是否將要溢出使用 原題目為: Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -3...

    LoftySoul 評(píng)論0 收藏0
  • leetcode 7 Reverse Integer

    摘要:題目詳情題目要求我們給出一個(gè)數(shù)的翻轉(zhuǎn)數(shù)想法這道題主要的坑就是在于一個(gè)數(shù)值的輸入,在進(jìn)行翻轉(zhuǎn)操作之后,不一定還符合的范圍,可能會(huì)造成異常。我們可以通過(guò)每次獲得整數(shù)除的余數(shù),來(lái)確定當(dāng)前整數(shù)的最后一位。 題目詳情 Given a 32-bit signed integer, reverse digits of an integer.題目要求我們給出一個(gè)數(shù)的翻轉(zhuǎn)數(shù) Example 1:Inpu...

    microelec 評(píng)論0 收藏0
  • Leetcode 第7Reverse Integer

    摘要:判斷溢出這里使用了中的類整數(shù)類,縮寫(xiě)就是的靜態(tài)變量和,就能直接得到整型變量可表示數(shù)值的上下限。當(dāng)結(jié)果不在此范圍內(nèi)時(shí),則溢出,并返回否則返回正常結(jié)果。 要點(diǎn) 這一題的要點(diǎn)有三個(gè): 接收長(zhǎng)度不同的數(shù)字并翻轉(zhuǎn) 判斷結(jié)果是否溢出 解決方法 翻轉(zhuǎn):為了能夠接收不同長(zhǎng)度的數(shù)字進(jìn)行反轉(zhuǎn)操作,我們使用循環(huán)結(jié)構(gòu)進(jìn)行操作。(注:這里創(chuàng)建的sum變量一定要用long類型而不能用int,原因是采用int...

    liaoyg8023 評(píng)論0 收藏0
  • [Leetcode] Reverse Integer 反轉(zhuǎn)整數(shù)

    摘要:字符串法復(fù)雜度時(shí)間空間思路先將數(shù)字轉(zhuǎn)化為字符串,然后將字符串倒序輸出,并轉(zhuǎn)回?cái)?shù)字。模十法復(fù)雜度時(shí)間空間思路通過(guò)對(duì)數(shù)字模十取余得到它的最低位。除了檢查溢出返回特定值以外,有沒(méi)有別的方法處理溢出可以使用代碼塊排除異常。 Reverse Integer Reverse digits of an integer.Example1: x = 123, return 321Example2: x ...

    ad6623 評(píng)論0 收藏0
  • 【LeetCode Easy】007 Reverse Integer

    摘要:第一時(shí)間想到這是經(jīng)典的取模取余運(yùn)算,但是寫(xiě)的過(guò)程中遇到了很多問(wèn)題這么簡(jiǎn)單一題基礎(chǔ)做法取一個(gè)整數(shù)的最后一位數(shù)字只要把這個(gè)整數(shù)就可以,要取除最后一位數(shù)字之外的其它數(shù)字只要是沒(méi)有長(zhǎng)度函數(shù)的,需要轉(zhuǎn)化成才能使用長(zhǎng)度函數(shù)用這個(gè)方法最大的難點(diǎn)在 Easy 007 Reverse Integer Description: Given a 32-bit signed integer, reverse ...

    Sourcelink 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<