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

难度:简单

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

示例1:

复制代码
 输入:num = 2(或者0b10)
 输出 1 (或者 0b01)

示例2:

复制代码
 输入:num = 3
 输出:3

提示:

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

题解:

python 复制代码
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)

        
相关推荐
徐小夕6 分钟前
面试官:AI生成到90%突然断了,你的解决方案是什么?(万字长文深度剖析)
前端·vue.js·算法
EnCi Zheng9 分钟前
09a-斯坦福 CS336 作业一:BPE分词器
开发语言·python·算法
5201-17 分钟前
Cube MatMul:为什么矩阵乘法选了 Cube 而不是 Vector
pytorch·python·矩阵
weixin_4489466325 分钟前
安裝Hermes
python
生成论实验室39 分钟前
用事件关系网络重新理解AI(二):损失函数、优化器与深度学习的动力学
数据结构·人工智能·深度学习·算法·语言模型
霍霍的袁1 小时前
【C++初阶】缺省参数(默认参数)详细讲解
开发语言·c++·算法
计算机安禾1 小时前
【算法分析与设计】第2篇:计算模型与渐进复杂性分析
算法
生成论实验室1 小时前
事件、信息荷与六维态势空间——每一个事件都是一次空间的弯曲
人工智能·算法·语言模型·可信计算技术·安全架构
hef2881 小时前
SQL和Python怎么选?数据分析工具实战指南
python·sql·数据分析
徐安安ye1 小时前
FlashAttention长程依赖建模:局部+全局的Hybrid Spiral结构设计
python·深度学习·机器学习