您好,登錄后才能下訂單哦!
本篇內容主要講解“leetcode怎么實現可被5整除的二進制前綴”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“leetcode怎么實現可被5整除的二進制前綴”吧!
給定由若干 0 和 1 組成的數組 A。我們定義 N_i:從 A[0] 到 A[i] 的第 i 個子數組被解釋為一個二進制數(從最高有效位到最低有效位)。
返回布爾值列表 answer,只有當 N_i 可以被 5 整除時,答案 answer[i] 為 true,否則為 false。
示例 1:
輸入:[0,1,1]
輸出:[true,false,false]
解釋:
輸入數字為 0, 01, 011;也就是十進制中的 0, 1, 3 。只有第一個數可以被 5 整除,因此 answer[0] 為真。
示例 2:
輸入:[1,1,1]
輸出:[false,false,false]
示例 3:
輸入:[0,1,1,1,1,1]
輸出:[true,false,false,false,true,false]
示例 4:
輸入:[1,1,1,0,1]
輸出:[false,false,false,false,false]
提示:
1 <= A.length <= 30000
A[i] 為 0 或 1
沒啥說的,上一個數是前一個數乘以2再加上當前的數,每次判斷是否被5整除即可。
class Solution: def prefixesDivBy5(self, A: list) -> list: res = [] temp = 0 for i in A: temp = ((temp << 1) + i) % 5 res.append(temp == 0) return res if __name__ == '__main__': A = [0, 0, 1, 1, 1, 1] s = Solution() ans = s.prefixesDivBy5(A) print(ans)
到此,相信大家對“leetcode怎么實現可被5整除的二進制前綴”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。