zoukankan      html  css  js  c++  java
  • 牛客网每日一练

    #
    # 
    # @param x int整型 
    # @return int整型
    #
    class Solution:
        def reverse(self , x ):
            flag = False
            if x == 0 or x == -0 :
                return x
            if x < 0:
                x = -x
                flag = True
            x = str(x)
            x_resever = ""
            for i in range(len(x)):
                if x_resever == "" and x[len(x)-i-1] == "0":
                    continue
                x_resever += x[len(x)-i-1]
            x_resever = int(x_resever)
            if flag :
                x_resever = -x_resever
            return x_resever
            # write code here

    将给出的整数x翻转。
    例1:x=123,返回321
    例2:x=-123,返回-321

    你有注意到翻转后的整数可能溢出吗?因为给出的是32位整数,则其数值范围为[−2^{31}, 2^{31} − 1][231,2311]。翻转可能会导致溢出,如果反转后的结果会溢出就返回 0。

    题解:此题的难点并不在于如何反转数字,而是在于如何解决和理解溢出问题

    你有思考过下面的这些问题么?
    如果整数的最后一位是0,那么输出应该是什么?比如10,100,反转后是00101 这样是不是不符合规律,是否应该避免。

    你注意到翻转后的整数可能溢出吗?假设输入是32位整数,则将翻转1000000000009就会溢出,你该怎么处理这样的样例?抛出异常吗?如果不允许抛出异常呢?这样的话你必须重新设计函数。

    首先一个知识点就是python的整型不会溢出,以下内容来自百度知道:

    尽管在C语言中,整型所表示的大小是有范围的,但是python代码是保存到文本文件中的,也就是说,python代码中并不是一下子就转化成 C 语言的整型的,我们需要重新定义一种数据结构来表示和存储我们新的“整型”

  • 相关阅读:
    SQL语句中的左连接、右连接、内连接的理解心得
    MySQL+Java使用心得(1)
    【转】国内常见WEB安全扫描产品概述
    [C puzzle book] operators
    【Python】Symbol Review
    A function for new storage space of string
    【SRX】折腾了半天终于我的那对SRX210 升级到了 12.1R1.9
    [C puzzle book] Control Flow
    [C puzzle book] types
    荷兰TAC的需求
  • 原文地址:https://www.cnblogs.com/nenu/p/14648935.html
Copyright © 2011-2022 走看看