当前位置: 首页 > article >正文

leetcode:面试题 05.07. 配对交换(python3解法)

难度:简单

配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。

示例1:

 输入:num = 2(或者0b10)
 输出 1 (或者 0b01)

示例2:

 输入:num = 3
 输出:3

提示:

  1. num的范围在[0, 2^30 - 1]之间,不会发生整数溢出。

题解:

class Solution:
    def exchangeBits(self, num: int) -> int:
        if num == 1:
            return 2
        n = bin(num).split('b')[1]
        list_n = list(n)
        
        if len(n) % 2 == 1:
            list_n = ['0'] + list_n
        for i in range(0,len(list_n)-1,2):
            list_n[i],list_n[i+1] = list_n[i+1],list_n[i]
    
        return int("".join(['0b']+list_n),2)

        


http://www.kler.cn/a/373264.html

相关文章:

  • 【机器学习】线性回归模型
  • Vue生成名片二维码带logo并支持下载
  • 数字IC开发:布局布线
  • 开源代码管理平台Gitlab如何本地化部署并实现公网环境远程访问私有仓库
  • Windows安装Git最新保姆级教程【附安装包】
  • 医院信息化与智能化系统(14)
  • 第二十章 Vue组件通信之父子通信
  • Flutter Color 大调整,需适配迁移,颜色不再是 0-255,而是 0-1.0,支持更大色域
  • Spring5学习记录(一)之IOC容器管理(基于XML方式)
  • vue前端使用pdfjs与pdfdist-mergeofd 实现预览pdf并翻页,同时解决预览pdf显示模糊的问题
  • 【算法与数据结构】二分查找思想
  • 海外媒体发稿:如何打造媒体发稿策略
  • 【SSM详细教程】-13-SpringMVC详解
  • Convolution 卷积
  • QT 实现自定义动态选择指示器
  • git的学习之远程进行操作
  • AIGC与教育行业的邂逅--其在数学领域的应用与实现
  • 【代码随想录Day55】图论Part07
  • 后台管理系统的通用权限解决方案(二)SpringBoot整合Swagger Springfox实现接口日志文档
  • Android系统架构
  • 新品上市|RNA提取系列上市了!
  • 和鲸科技 CEO 范向伟受邀揭牌启动南京大学 2024 级大学生人工智能素养大赛
  • 数据库真的是能够决定架构的
  • 论文提交步骤 | 2024年第五届MathorCup大数据竞赛
  • 阿里云物联网的通信方式
  • C++第九讲:模板进阶