• 717. 1-bit and 2-bit Characters


    1. Question

    717. 1-bit and 2-bit Characters

    https://leetcode.com/problems/1-bit-and-2-bit-characters/

    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).

    Now given a string represented by several bits. Return whether the last character must be a one-bit character or not. The given string will always end with a zero.

    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.
    

    Note:

    • 1 <= len(bits) <= 1000.
    • bits[i] is always 0 or 1

    2. Solution:

    class Solution:
    def dfs(self, bits):
    size = len(bits)

    if size == 1:
    return True

    if size == 2:
    if bits[0] == 1:
    return False
    else:
    return True

    if size >= 3:
    if bits[0] == 1:
    return self.dfs(bits[2:])
    else:
    return self.dfs(bits[1:])

    def isOneBitCharacter(self, bits):
    """
    :type bits: List[int]
    :rtype: bool
    """
    return self.dfs(bits)

  • 相关阅读:
    top-adx-apps
    mac 打印机无法打印
    doubleclick-video-skipable
    微信小程序-基础学习
    uniapp-学习总结1
    react-1
    mysql-1
    jenkins-1
    后台管理系统-1
    微信小程序-父子组件通信
  • 原文地址:https://www.cnblogs.com/ordili/p/9992179.html
Copyright © 2020-2023  润新知