zoukankan      html  css  js  c++  java
  • leetcode——190.颠倒二进制位

    将十进制数转换为二进制数:
    使用bin()函数即可

    二进制转十进制用int函数:

            b=a[::-1]
            print(b)
            c=int(b,2)

    但是操作的时候却遇到了错误:ValueError: invalid literal for int() with base 2: '1101111b0'

    解决办法:

    仔细看是因为十进制转换为二进制的时候,会有一个前缀为0b,所以在将图转换为十进制的时候,需要将这两个去掉才能进行。

    执行结果错了一次,因为要求是32位进行转换,但是我直接转了,没有考虑到补零的问题:


    class
    Solution: # @param n, an integer # @return an integer def reverseBits(self, n): a=bin(n) b=a[:1:-1] d=b+'0'*(32-len(b)) return int(d,2)
    执行用时 :20 ms, 在所有 Python 提交中击败了86.90%的用户
    内存消耗 :11.9 MB, 在所有 Python 提交中击败了5.34%的用户
     
    
    
    执行用时为 8 ms 的范例
    class Solution:
        # @param n, an integer
        # @return an integer
        def reverseBits(self, n):
            return int(('%032d'%int(bin(n)[2:]))[::-1],2)

    没太看懂。。。。。差距啊差距。。。。。。

    执行用时为 16 ms 的范例
    class Solution:
        # @param n, an integer
        # @return an integer
        def reverseBits(self, n):
            return int(bin(n)[2:].zfill(32)[::-1],2)
    zfill(32)

    神奇啊!!!

                                                                          ——2019.10.10

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    C#托盘图标
    线程相关整理
    Quartz.NET 快速入门
    (转)IE内存泄露,iframe内存泄露造成的原因和解决方案
    美化console.log的文本(转载)
    mongoDB学习资料整理
    EF7学习资料整理
    Oracle常用
    Node.js学习资料整理
    【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器(转)
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/11649238.html
Copyright © 2011-2022 走看看