1比特與2比特字符


有兩種特殊字符。第一種字符可以用一比特0來表示。第二種字符可以用兩比特(10 或 11)來表示。

現給一個由若干比特組成的字符串。問最后一個字符是否必定為一個一比特字符。給定的字符串總是由0結束。

示例 1:

輸入: 
bits = [1, 0, 0]
輸出: True
解釋: 
唯一的編碼方式是一個兩比特字符和一個一比特字符。所以最后一個字符是一比特字符。

示例 2:

輸入: 
bits = [1, 1, 1, 0]
輸出: False
解釋: 
唯一的編碼方式是兩比特字符和兩比特字符。所以最后一個字符不是一比特字符。

注意:

  • 1 <= len(bits) <= 1000.
  • bits[i] 總是0 或 1.
class Solution(object):
    def isOneBitCharacter(self, bits):
        """
        :type bits: List[int]
        :rtype: bool
        """
        # 遇1進二直接跳到下一個數,判斷最后是否指向最后一個元素
        i = 0
        while i < len(bits):
            if i == len(bits)-1:
                return True
            elif bits[i] == 1:
                i += 2
            else:
                i += 1
        return False
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM