国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

7. Reverse Integer

tianren124 / 1275人閱讀

摘要:題目鏈接思路因為中的數字是沒有的,即取決于電腦的內存。不過題目有額外要求,假設我們只能處理的數字區間。所以需要另外加一個判斷。另外,內置的函數可以把轉換成數字。數字要注意區分正負。負數反轉還是負數。

題目鏈接:Reverse Integer

思路
因為Python中的數字是沒有overflow的,即limit取決于電腦的內存。不過題目有額外要求,假設我們只能處理
32-bit signed 的數字區間。 所以需要另外加一個判斷。另外,Python內置的int()函數可以把 "001" 轉換成數字 1。

數字要注意區分正負。負數反轉還是負數。對于Python來說,有兩種解法:

可以把數字轉換成字符串反轉然后轉換回數字

可以把反轉的數字乘以10加上x % 10,x每次除以10直到0為止

算法復雜度
Pythonic:

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

一般方法:

時間: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


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41951.html

相關文章

  • Leetcode 7 Reverse Integer 倒序整數

    摘要:原題目為難度此題讓我們輸出給定一個整數的倒序數比如倒序為倒序為但是如果倒序的過程中發生整型溢出我們就輸出倒序不復雜關鍵在于如何判定將要溢出最終的程序如下其中是獲取的個位數字判定下一步是否將要溢出使用 原題目為: Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -3...

    LoftySoul 評論0 收藏0
  • leetcode 7 Reverse Integer

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

    microelec 評論0 收藏0
  • Leetcode 第7Reverse Integer

    摘要:判斷溢出這里使用了中的類整數類,縮寫就是的靜態變量和,就能直接得到整型變量可表示數值的上下限。當結果不在此范圍內時,則溢出,并返回否則返回正常結果。 要點 這一題的要點有三個: 接收長度不同的數字并翻轉 判斷結果是否溢出 解決方法 翻轉:為了能夠接收不同長度的數字進行反轉操作,我們使用循環結構進行操作。(注:這里創建的sum變量一定要用long類型而不能用int,原因是采用int...

    liaoyg8023 評論0 收藏0
  • [Leetcode] Reverse Integer 反轉整數

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

    ad6623 評論0 收藏0
  • 【LeetCode Easy】007 Reverse Integer

    摘要:第一時間想到這是經典的取模取余運算,但是寫的過程中遇到了很多問題這么簡單一題基礎做法取一個整數的最后一位數字只要把這個整數就可以,要取除最后一位數字之外的其它數字只要是沒有長度函數的,需要轉化成才能使用長度函數用這個方法最大的難點在 Easy 007 Reverse Integer Description: Given a 32-bit signed integer, reverse ...

    Sourcelink 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<