首页 > 其他分享 >leedcode 颠倒二进制

leedcode 颠倒二进制

时间:2024-03-06 10:55:58浏览次数:24  
标签:二进制 res reversed leedcode 颠倒 int str 32

使用bin函数

class Solution:
    def reverseBits(self, n: int) -> int:
        # 将整数 n 转换为二进制字符串,并用 左0 填充至32位
        binary_str = bin(n)[2:].zfill(32)

        # 反转二进制字符串
        reversed_str = binary_str[::-1]

        # 将反转后的二进制字符串转换为整数
        reversed_int = int(reversed_str, 2)

        # 返回反转后的整数
        return reversed_int

使用位运算

class Solution:
    def reverseBits(self, n: int) -> int:
        # 初始化一个变量来存储反转后的比特位结果
        res = 0

        # 迭代每个比特位(32次,对于一个32位的整数)
        for i in range(32):
            # 将当前结果左移1位,并与n的最低位进行按位或运算
            res = (res << 1) | (n & 1)

            # 将n右移1位,以移动到下一位
            n >>= 1

        # 返回反转比特位后的最终结果
        return res

 

标签:二进制,res,reversed,leedcode,颠倒,int,str,32
From: https://www.cnblogs.com/yyyjw/p/18056037

相关文章

  • resurfaceio gor linux 二进制包
    resurfaceio的gor是对于开源版本的修改(比如开启了企业特性,同时添加了对于resurfaceiohttpoutput的支持),为了方便对于linux系统的使用我拉取了官方镜像,将二进制文件放到github了https://github.com/rongfengliang/resurfaceio-gor支的命令 Gorisasimpleht......
  • Js下载返回是二进制保存到本地文件
    //创建一个新的XMLHttpRequest对象varxhr=newXMLHttpRequest();//监听XMLHttpRequest对象的加载完成事件xhr.addEventListener('load',function(){//如果请求成功完成if(xhr.status===200){//获取到二进制文件内容varblob=......
  • ruoyi-vue axios通过接口请求wav、mp3音频二进制数据
    实现方式在axios请求中注明responseType:'blob',headers的Accept:'audio/wav'不清楚要不要写,我加上了(请求接口)在接口返回值中,使用Blob的构造方法将数据转换成Blob对象(封装Blob对象&形成URL)将得到的Blob对象通过URL.createObjectURL(audioBlob)形成url,该url类似于bl......
  • 拯救php性能的神器webman-打包二进制
    看了看webman的官方文档,发现居然还能打包为二进制,这样太厉害了吧!先执行这个  composerrequirewebman/console^1.2.24 安装这个console的包,然后执行  phpwebmanbuild:bin8.1 结果谁想到它报错提示:好吧我就按照他说的执行了  php-dphar.readonly=0./webmanb......
  • leedcode 多数元素
    自己写的:classSolution:defmajorityElement(self,nums):#创建一个空字典用于存储数字和其出现次数mydict=dict()#遍历输入的列表numsforiinnums:#如果数字i不在字典中,将其添加到字典,并初始化计数为0......
  • leedcode 10进制转换成26进制
    10进制转换成26进制 A对应0:(正常的情况)classSolution:defconvertToTitle(self,columnNumber:int)->str:mydict={}#创建字典,映射数字到字母foriinrange(1,27):mydict[i]=chr(ord('A')+i-1)print(mydi......
  • leedcode 相交链表
    会超出时间限制:classSolution:defgetIntersectionNode(self,headA:ListNode,headB:ListNode)->Optional[ListNode]:cur_b=headBcur_a=headAwhilecur_b!=None:#两个相等ifcur_b==cur_a:r......
  • leedcode 二叉树的前序遍历
    递归法:classSolution:def__init__(self):#初始化一个实例变量res用于存储前序遍历结果self.res=[]defpreorderTraversal(self,root:Optional[TreeNode])->List[int]:#如果根节点存在ifroot:#检查根......
  • leedcode 环形链表
    快慢指针:classSolution:defhasCycle(self,head:Optional[ListNode])->bool:#如果链表为空或者只有一个节点,肯定不存在环ifnotheadornothead.next:returnFalse#初始化慢指针和快指针slow=headf......
  • leedcode 验证回文串
    自己写的:classSolution:defisPalindrome(self,s:str):#将字符串转换为小写,以便进行大小写不敏感的比较s_lower=s.lower()#获取字符串的长度n=len(s_lower)#创建一个空列表,用于存储字母和数字......