1018. 可以被5整除的二進(jìn)制前綴(Python)

更多精彩內(nèi)容,請(qǐng)關(guān)注【力扣簡(jiǎn)單題】。

題目

難度:★☆☆☆☆
類型:數(shù)組

題目

給定由若干 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 <= A.length <= 30000
A[i] 為 0 或 1

示例

示例 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]

解答

我們用寄存器s(i)記錄當(dāng)前A[0:i+1)子數(shù)組轉(zhuǎn)為十進(jìn)制后的值,存在遞推式:

s(i) = s(i-1) * 2 + A[i]

因此我們可以根據(jù)上一次的s計(jì)算當(dāng)前s,并且隨時(shí)判斷當(dāng)前s能否被5整除。

class Solution:
    def prefixesDivBy5(self, A):
        """
        :param A: List[int]
        :return: List[bool]
        """
        s = 0
        res = []
        for n in A:
            s = s * 2 + n
            res.append(s % 5 == 0)
        return res

如有疑問或建議,歡迎評(píng)論區(qū)留言~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,319評(píng)論 0 17
  • 在C語言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 4,008評(píng)論 0 2
  • 基礎(chǔ)篇NumPy的主要對(duì)象是同種元素的多維數(shù)組。這是一個(gè)所有的元素都是一種類型、通過一個(gè)正整數(shù)元組索引的元素表格(...
    oyan99閱讀 5,288評(píng)論 0 18
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,319評(píng)論 0 10
  • 點(diǎn)擊文章標(biāo)題即可閱讀文章 1、“小米”也有大夢(mèng)想:誓要找到我青春扎根的土壤 2、有機(jī)生活的8個(gè)關(guān)鍵詞,不是說說而已...
    青春實(shí)驗(yàn)室閱讀 204評(píng)論 0 0

友情鏈接更多精彩內(nèi)容