給定乙個正整數,檢查他是否為交替位二進位制數:換句話說,就是他的二進位制數相鄰的兩個位數永不相等。
示例 1:
輸入: 5
輸出: true
解釋:5的二進位制數是: 101
示例 2:
輸入: 7
輸出: false
解釋:7的二進位制數是: 111
示例 3:
輸入: 11
輸出: false
解釋:11的二進位制數是: 1011
示例 4:
輸入: 10
輸出: true
解釋:10的二進位制數是: 1010
class solution:
def hasalternatingbits(self, n):
list1 =
list2 =
if n == 1: # 1比較特殊,單獨拿出來分析
return true
a = bin(n).replace("0b","") # 用bin函式把整數轉換成二進位制數然後把二進位制數前的0b用replace函式去掉
for i in range(0,len(a),2): # 把偶下標數單獨提取出來放在list1中
for b in range(1,len(a),2): # 把奇下標數數單獨提取出來放在list1中
if set(list1) == and set(list2) == : # 判斷兩個列表是否各自內容相同
return true
else:
return false
交替位二進位制數
題目 給定乙個正整數,檢查他是否為交替位二進位制數 換句話說,就是他的二進位制數相鄰的兩個位數永不相等。示例 1 輸入 5 輸出 true 解釋 5的二進位制數是 101示例 2 輸入 7 輸出 false 解釋 7的二進位制數是 111思路 位運算得到二進位制,在運算過程中將前一位與當前位做異或 ...
693 交替位二進位制數
題目描述 給定乙個正整數,檢查他是否為交替位二進位制數 換句話說,就是他的二進位制數相鄰的兩個位數永不相等。示例 1 輸入 5 輸出 true 解釋 5的二進位制數是 101 示例 2 輸入 7 輸出 false 解釋 7的二進位制數是 111 示例 3 輸入 11 輸出 false 解釋 11的二...
693 交替位二進位制數 簡單
題目 於力扣 leetcode 目錄三 實現 四 執行用時 五 部分測試用例 693.交替位二進位制數 記錄下數值二進位制位的最低位 迴圈獲取數值二進位制位的最低位,判斷當前獲取的最低位,是否與之前記錄的最低位相同 相同時,返回 false,說明非交替位 不同時,更新最低位的變數為當前最低位,繼續判...