Skip to content

717. 1 Bit And 2 Bit Characters

Array

Problem - 1 Bit And 2 Bit Characters

Easy

We have two special characters:

  • The first character can be represented by one bit 0.
  • The second character can be represented by two bits (10 or 11).

Given a binary array bits that ends with 0, return true if the last character must be a one-bit character.

 

Example 1:

Input: bits = [1,0,0]
Output: true
Explanation: The only way to decode it is two-bit character and one-bit character.
So the last character is one-bit character.

Example 2:

Input: bits = [1,1,1,0]
Output: false
Explanation: The only way to decode it is two-bit character and two-bit character.
So the last character is not one-bit character.

 

Constraints:

  • 1 <= bits.length <= 1000
  • bits[i] is either 0 or 1.

Solutions

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
class Solution:
    def isOneBitCharacter(self, bits: List[int]) -> bool:
        # i, n = 0, len(bits)
        # while n - 1> i:
        #     i += bits[i] + 1
        # return i == n - 1

        i = 2
        while i <= len(bits):
            if bits[-1 * i] == 0:
                break
            i += 1

        if i % 2 == 0:
            return True
        return False

Submission Stats:

  • Runtime: 0 ms (100.00%)
  • Memory: 17.8 MB (39.58%)