溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

leetcode怎么實(shí)現(xiàn)可被5整除的二進(jìn)制前綴

發(fā)布時(shí)間:2021-12-15 14:40:54 來(lái)源:億速云 閱讀:128 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“l(fā)eetcode怎么實(shí)現(xiàn)可被5整除的二進(jìn)制前綴”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“l(fā)eetcode怎么實(shí)現(xiàn)可被5整除的二進(jìn)制前綴”吧!

一、題目?jī)?nèi)容

給定由若干 0 和 1 組成的數(shù)組 A。我們定義 N_i:從 A[0] 到 A[i] 的第 i 個(gè)子數(shù)組被解釋為一個(gè)二進(jìn)制數(shù)(從最高有效位到最低有效位)。

返回布爾值列表 answer,只有當(dāng) N_i 可以被 5 整除時(shí),答案 answer[i] 為 true,否則為 false。

示例 1:

輸入:[0,1,1]
輸出:[true,false,false]
解釋:
輸入數(shù)字為 0, 01, 011;也就是十進(jìn)制中的 0, 1, 3 。只有第一個(gè)數(shù)可以被 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

二、解題思路

沒(méi)啥說(shuō)的,上一個(gè)數(shù)是前一個(gè)數(shù)乘以2再加上當(dāng)前的數(shù),每次判斷是否被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)

到此,相信大家對(duì)“l(fā)eetcode怎么實(shí)現(xiàn)可被5整除的二進(jìn)制前綴”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI