首页 > 其他分享 >Leedcode-数字的补数

Leedcode-数字的补数

时间:2024-05-11 21:43:12浏览次数:12  
标签:bin 数字 二进制 reversed Leedcode num 按位 str 补数

自己写的:

class Solution:
    def findComplement(self, num: int) -> int:
        # 初始化一个空字符串,用于存储二进制表示
        bin_str = ''
        
        # 将输入的数字转换为二进制表示,存储在 bin_str 中
        while num > 0:
            bin_str = str(num % 2) + bin_str
            num //= 2
        
        # 初始化一个空字符串,用于存储按位取反后的二进制表示
        reversed_bin_str = ''
        
        # 对原始二进制表示进行按位取反操作,存储在 reversed_bin_str 中
        for bit in bin_str:
            if bit == '1':
                reversed_bin_str += '0'
            else:
                reversed_bin_str += '1'
        
        # 去除按位取反后的二进制表示中的前导零
        trimmed_bin_str = reversed_bin_str.lstrip('0')
        
        # 计算去除前导零后的二进制表示所代表的十进制数值
        n = len(trimmed_bin_str)
        decimal_value = 0
        for i in range(n):
            # 按位将二进制数转换为十进制数
            decimal_value += int(trimmed_bin_str[i]) * 2 ** (n - i - 1)
        
        # 返回最终结果
        return decimal_value

 

标签:bin,数字,二进制,reversed,Leedcode,num,按位,str,补数
From: https://www.cnblogs.com/yyyjw/p/18187189

相关文章

  • uniapp:小程序数字键盘功能样式实现
    查看代码 <template> <view> <view> <viewclass="money-input"> <viewclass="input-container"@click="toggleBox"> <viewclass="input-wrapper"> <viewclass="......
  • 双核、DSPIC33CH128MP203-I/M5 DSPIC33CH128MP203-H/M5 DSPIC33CH128MP203-E/M5数字信
    产品简介dsPIC33CH双核数字信号控制器在单个芯片中集成了两个dsPICDSC内核,一个设计用作主器件,而另一个则设计用作从器件。从内核用于执行专用、时间关键型控制代码,而主内核则用于运行用户界面、系统监测和通信功能以及最终应用的定制。dsPIC33CH器件优化用于高性能数字电源、电......
  • 怎么把excel里已经变成科学记数法的数字恢复
    从数据库导出的数据经常有id字段,包含一长串的数字,导出为excel或者csv格式后打开,id字段经常被转换成科学技术法了,不方便查看。如果想把它转变为通常的显示方法,在单元格上点击鼠标右键,点击“设置单元格格式”。在打开的窗口中,切换到“数字”选项卡,点击“自定义”,然后在右侧“类型......
  • 中电金信:谋“新”重“质” —— 能碳数字化服务平台
    近日,中电金信园区(企业)能碳数字化服务平台解决方案以其创新性和实效性在参选的60家答辩入围企业中脱颖而出,成功入选湖南省工业和信息化厅《2024年湖南省数字化碳管理优秀解决方案名单》,这是对中电金信能碳数字化专业能力的重要认可,也是中电金信培育和发展新质生产力,谋“新”重“质......
  • 敏捷冲刺day3--数字工匠队
    这个作业属于哪个课程软件工程这个作业的要求是什么项目冲刺这个作业的目标冲刺日志3站立式会议照片工作困难处理任务时遇到一些问题需要上网学习花费时间昨日完成工作部分登录界面前后端处理代码今日计划工作继续完成登录界面前后端处理项目燃尽图每......
  • 【专题】2022年智能汽车行业数字化人才白皮书报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34111随着新一轮技术革命和产业变革的推动,以及国家政策的大力扶持,电动化、智能化、网联化已经成为汽车行业发展的新趋势。在这种背景下,各大企业纷纷争夺数字化人才,以推动产品的规模化落地和商业化创新应用。阅读原文,获取专题报告合集全文,解锁文末53......
  • 开源框架平台:功能优势多,助力数字化转型!
    伴随着科技越来越发达,低代码技术平台、开源框架平台逐渐在各中小型企业里获得重视和青睐,成为助力企业实现流程化办公,进入数字化转型的的有力武器。在众多服务商中,谁拥有市场竞争力,谁在服务和产品方面更具核心价值,谁就能脱颖而出,占有更多市场份额,携手各企业进去数字化转型新时代。......
  • 智启蒸汽时代:数字孪生锅炉的革新之旅
    在飞速发展的工业4.0时代,数字孪生技术已经深入到我们生产生活的方方面面。而对于那些承载着重工业血脉的蒸汽工厂来说,一项新的技术正在悄然改变它们的未来。 走进蒸汽工厂,感受传统与现代的交融蒸汽工厂,这个充满力量与热情的地方,长久以来都是工业发展的核心。然而,随着时代的进......
  • c语言 复杂度为O(n)的有序数字字符的去重
     #include<stdio.h>intmain(){//有序列表的去重intarr[]={1,2,2,3,3,3,5,6,7,7,7,7,8,8,9,9,9};intlen=sizeof(arr)/4;intmark[len]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};intk=0;//打印数组printf("原始数组:")......
  • ITIL4之守护数字世界的生命线
    在这个数字时代,每一分每一秒的数据流动都是企业的心跳声,而确保这颗心脏在风雨飘摇中依旧强健跳动,离不开两大护航者——服务连续性管理与IT风险管理。接下来我们就来探索这两者如何携手,为企业的IT运维编织一张坚不可摧的安全网。服务连续性管理:未雨绸缪,防患未然想象一下,你的家突......