1. 程式人生 > 實用技巧 >關於leecode一道簡單題的演算法(第一條部落格試排版了)題目:4的冪

關於leecode一道簡單題的演算法(第一條部落格試排版了)題目:4的冪

拿到題目最一開始感覺應該是用迴圈巢狀開方最為簡單,不過簡單題的進階相對提高了一點點難度。
那麼讓我們轉換一下思路:
吶,那麼能被4整除的數字有什麼共同點呢?
很簡單,轉換成二進位制以後僅頭部為1,後面所有位都是0且0的個數能被2整除
所以僅需要判斷兩個條件:
1、轉為二進位制以後是否有且僅有一個1
2、轉為二進位制後0的個數能不能被2整除
然後我拿起了我只會用的列表開始解題QAQ
程式碼塊 class Solution: def isPowerOfFour(self, num: int) -> bool: if num <= 0://小於等於0就可以爬啦 return False two = bin(num)//轉二進位制 key = split('b',two)//拿到(去掉符號後的字串(也就是要用到的二進位制字元)) key = split('',key[1])//把拿到的字串分割更容易獲取'1'和'0' one = key.count('1')//(注意這裡的0和1已經轉換為字串) zero = key.count('0') if one > 1: return False if zero%2 == 0: return True else: return False


題解完了,這道題就是在反映0多1少的社會現實,什麼時候才能有1啊QAQ