网站后台模板 如何使用,滕州做网站,网站建设 架构,jsp网站开发英文文献题目#xff1a;
对整数的二进制表示取反#xff08;0 变 1 #xff0c;1 变 0#xff09;后#xff0c;再转换为十进制表示#xff0c;可以得到这个整数的补数。 例如#xff0c;整数 5 的二进制表示是 101 #xff0c;取反后得到 010 …题目
对整数的二进制表示取反0 变 1 1 变 0后再转换为十进制表示可以得到这个整数的补数。 例如整数 5 的二进制表示是 101 取反后得到 010 再转回十进制表示得到补数 2 。 链接https://leetcode.cn/problems/number-complement
思路
使用bin函数将nums转为二进制数再进行转换补数的二进制再用int将补数的二进制转为整型。
class Solution(object):def findComplement(self, num)::type num: int:rtype: inta[]b_nbin(num)[2:]for i in range(len(b_n)):if b_n[i]1:a.append(0)elif b_n[i]0:a.append(1)b.join(a)return int(b,2)
不适用int还有其他的方法
c0
for x in range(len(b)):cint(b[x])*2**(len(b)-x-1)
return c