20200114 可被 5 整除的二進位制字首

2022-06-20 04:21:08 字數 1159 閱讀 3852

給定由若干 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]

輸出:[

思路:遍歷陣列  %5為0時為true 否則false

public

static listprefixesdivby5(int

a) return

l; }

提交失敗

檢查報錯發現若案例a陣列長度超過31位時 integer.valueof轉換失敗報錯 原來有長度限制

嘗試用long.valueof  發現長度超過64位也轉換失敗 

看到大佬的思路

public listprefixesdivby5(int

a) return

ans;

}

《是移位運算子

如 3<<1 結果是6  就是將3轉2進製 0011左移一位低位補0得到0110 即6

這樣

for (int i = 0;i < a.length;i++) 

很輕易能將2進製轉成10進製  

LeetCode 1018 可被5整除的二進位制字首

給定由若干 0 和 1 組成的陣列 a。我們定義 n i 從 a 0 到 a i 的第 i 個子陣列被解釋為乙個二進位制數 從最高有效位到最低有效位 返回布林值列表 answer,只有當 n i 可以被 5 整除時,答案 answer i 為 true,否則為 false。示例 1 輸入 0,1,1...

可被 5 整除的二進位制字首

1018.可被 5 整除的二進位制字首 給定由若干0和1組成的陣列a。我們定義n i 從a 0 到a i 的第i個子陣列被解釋為乙個二進位制數 從最高有效位到最低有效位 返回布林值列表answer,只有當n i可以被5整除時,答案answer i 為true,否則為false。示例 1 輸入 0,1...

LeetCode 1018可被5整除的二進位制字首

給定由若干 0 和 1 組成的陣列 a。我們定義 n i 從 a 0 到 a i 的第 i 個子陣列被解釋為乙個二進位制數 從最高有效位到最低有效位 返回布林值列表 answer,只有當 n i 可以被 5 整除時,答案 answer i 為 true,否則為 false。示例 1 輸入 0,1,1...