給定由若干 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] 為真
代碼
class Solution {public List<Boolean> prefixesDivBy5(int[] A) {List<Boolean> list=new ArrayList<>();int cur=A[0];for(int i=1;i<A.length;i++){list.add(cur%5==0);cur*=2;cur%=10;//保留最后一位cur+=A[i];}list.add(cur%5==0);return list;}
}