給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。
注意:
給定的整數保證在32位帶符號整數的範圍內。
你可以假定二進位制數不包含前導零位。
示例 1:
輸入: 5
輸出: 2
解釋: 5的二進位制表示為101(沒有前導零位),其補數為010。所以你需要輸出2。
示例 2:
輸入: 1
輸出: 0
解釋: 1的二進位制表示為1(沒有前導零位),其補數為0。所以你需要輸出0。
class solution:
def findcomplement(self, num):
""":type num: int
:rtype: int
"""str = bin(num)[2::]
list1 =
for i in str:
if i == "0":
i = 1
elif i == "1":
i = 0
print("二進位制補數為",list1)
list1.reverse()
num = 0
count = 0
for j in list1:
num += j * (2 ** count)
count += 1
return num
s1 = solution()
print(s1.findcomplement(8))
leetcode 476 數字的補數
給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。注意 給定的整數保證在32位帶符號整數的範圍內。你可以假定二進位制數不包含前導零位。示例 1 輸入 5輸出 2解釋 5的二進位制表示為101 沒有前導零位 其補數為010。所以你需要輸出2。示例 2 輸入 1輸出 0解釋 1的二進位制表示...
Leetcode 476 數字的補數
給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。注意 給定的整數保證在32位帶符號整數的範圍內。你可以假定二進位制數不包含前導零位。示例 1 輸入 5 輸出 2 解釋 5的二進位制表示為101 沒有前導零位 其補數為010。所以你需要輸出2。示例 2 輸入 1 輸出 0 解釋 1的二進...
LeetCode 476 數字的補數
給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。注意 給定的整數保證在32位帶符號整數的範圍內。你可以假定二進位制數不包含前導零位。示例 1 輸入 5 輸出 2 解釋 5的二進位制表示為101 沒有前導零位 其補數為010。所以你需要輸出2。示例 2 輸入 1 輸出 0 解釋 1的二進...