zoukankan      html  css  js  c++  java
  • 【leetcode】1018. Binary Prefix Divisible By 5

    题目如下:

    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, 1, and 3 in base-10.  Only the first number is divisible by 5, so answer[0] is true.
    

    Example 2:

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

    Example 3:

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

    Example 4:

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

    Note:

    1. 1 <= A.length <= 30000
    2. A[i] is 0 or 1

    解题思路:本题很简单,往左移位即可。每移动一位,如果当前位置的值是1,值需要加上1。

    代码如下:

    class Solution(object):
        def prefixesDivBy5(self, A):
            """
            :type A: List[int]
            :rtype: List[bool]
            """
            res = []
            val = 0
            for i in A:
                val = val << 1
                if i == 1:
                    val += 1
                res.append(val % 5 == 0)
            return res
  • 相关阅读:
    Java代理(jdk静态代理、动态代理和cglib动态代理)
    Hive安装
    Spark 集群安装
    Flume 远程写HDFS
    Spark Idea Maven 开发环境搭建
    oracle 通不过网络的原因
    oracle一些基本问题
    linux-redhat配置yum源
    liunx虚拟机网络连接
    redhat安装jdk、tomcat、mysql
  • 原文地址:https://www.cnblogs.com/seyjs/p/10634961.html
Copyright © 2011-2022 走看看