zoukankan      html  css  js  c++  java
  • LeetCode 7 Reverse Integer & int

    Reverse Integer

    想用余10直接算,没想到
    -123%107, 原因 -123-(-123//10*10)

    r=a-n*[a/n]
    以上,r是余数,a是被除数,n是除数。
    
    唯一不同点,就是商向0或负无穷方向取整的选择,c从c99开始规定向0取整,python则规定向负无穷取整,选择而已。
    
    所以套用上述公式为:
    C 语言:(a%n的符号与a相同)
                -9%7=-9 - 7*[-1]=-2;
                9%-7=9 - -7*[-1]=2;
    Python语言::(a%n的符号与n相同)
                -9%7=-9 - 7*[-2]=5
                9%-7=-9 - -7*[-2]=-5
    

    by 负数求余,Python和C语言的不同

    所以直接存符号吧。

    第1次提交
    import time
    
    class Solution:
        def __init__(self):
            self.maxValue=2**31-1
            self.minValue=-2**31
        def reverse(self, x):
            """
            :type x: int
            :rtype: int
            """
            reverseInt=0
    
            flag=1
            if x<0:
                flag=-1
                x=abs(x)
            
            i=0
            while x>=1:
                reverseInt*=10
                reverseInt+=x%10
                x//=10
                i+=1
                #print(reverseInt,x)
    
            reverseInt*=flag
    
            if reverseInt>self.maxValue or reverseInt<self.minValue:
                reverseInt=0
            return reverseInt
    
    if __name__ == "__main__":
        
        data = [
            {
                "input":123,
                "output":321, 
            },
            {
                "input":-123,
                "output":-321, 
            },
            {
                "input":120,
                "output":21, 
            }
    
        ];
        for d in data:
            
            print(d['input'])
            
            # 计算运行时间
            start = time.perf_counter()
            result=Solution().reverse(d['input'])
            end = time.perf_counter()
            
            print(result)
            if result==d['output']:
                print("--- ok ---",end="	")
            else:
                print("--- error ---",end="	")
            
            print(start-end)
    

    一次AC,题太简单,没有什么感觉:)

  • 相关阅读:
    Java线程的学习(一)——以售票系统为例
    web笔记
    ssm2之applicationContext.xml文件配置
    ssm笔记1
    在ViewHolder中添加item点击事件接口(自定义
    Java反射机制
    新手导航页(小圆点
    jsoup
    TextView设置随机大小和颜色
    常用IO流
  • 原文地址:https://www.cnblogs.com/warcraft/p/9361984.html
Copyright © 2011-2022 走看看