zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    GUID
    ORA-04044: 此处不允许过程, 函数, 程序包或类型和
    去掉word文档两边的空白
    Mysql数据库服务启动
    计算两个日期之间的天数
    SpringMVC——接收请求参数和页面传参
    ajax中get和post区别
    如何实现两个页面之间进行传值
    面试题
    MySQL数据库优化
  • 原文地址:https://www.cnblogs.com/ordili/p/9992179.html
Copyright © 2011-2022 走看看