加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

(Easy) Binary Prefix Divisible by 5. LeetCode (to be continu

发布时间:2020-12-14 05:08:41 所属栏目:大数据 来源:网络整理
导读:Description: Given an array A of 0 s and 1 s,consider N_i : the i-th subarray from A[0] to A[i] ?interpreted?as a binary number (from most-significant-bit to least-significant-bit.) Return a list of booleans? answer ,where answer[i] is tru

Description:

Given an array A of 0s and 1s,consider N_i: the i-th subarray from A[0] to A[i]?interpreted?as a binary number (from most-significant-bit to least-significant-bit.)

Return a list of booleans?answer,where answer[i] is true?if and only if N_i?is divisible by 5.

Example 1:

Input: [0,1,1]
Output: [true,false,false] Explanation:  The input numbers in binary are 0,01,011; which are 0,and 3 in base-10. Only the first number is divisible by 5,so answer[0] is true. 

Example 2:

Input: [1,1]
Output: [false,false] 

Example 3:

Input: [0,1]
Output: [true,true,false] 

Example 4:

Input: [1,1]
Output: [false,false] 

?

Note:

  1. 1 <= A.length <= 30000
  2. A[i] is 0 or 1
Accepted
12,976
Submissions
27,721

?

Solution:

This solution is only partially correct,as it will have overflow issue.?

class Solution {
    public List<Boolean> prefixesDivBy5(int[] A) {
        
        List<Boolean> list = new ArrayList<Boolean>();
        
        for(int i = 0; i<A.length; i++){
            int num = 0;
            int t = i;
            for(int j = 0; j<=i; j++){
                
                num = num+ A[j]*(int)Math.pow(2,t--);
                
            }
            
                     if(num%5==0){
                list.add(true);
            }
            else{
                list.add(false);
            }
        }
             return list;
        }
     
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读