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

    Solution: Since two bits character always starts with '1', and the input stream is valid. So if it's not one bit, then it's two bits. Count from left to right, whenever we encounter a '1', skip the next character as it must be combined with the former '1'. If the last '1' is exactly in front the of the last character, then it's a two bits character. Otherwise, it's a one bit character.

    class Solution {
        public boolean isOneBitCharacter(int[] bits) {
            int n = bits.length, i = 0;
            while (i < n)  {
                if (bits[i] == 1) {
                    if (i == bits.length - 2) {
                        return false;
                    }
                    
                    i += 2;
                } else {
                    i++;
                }
            }
            
            return true;
        }
    }
  • 相关阅读:
    [杂题]FZU2190 非提的救赎
    [模拟]ZOJ3480 Duck Typing
    [模拟]ZOJ3485 Identification Number
    [数论]ZOJ3593 One Person Game
    [博弈]ZOJ3591 Nim
    [杂题]URAL1822. Hugo II's War
    二分图相关
    KMP算法详解
    中国国家集训队论文集目录(1999-2009)
    最短路Dijkstra算法的一些扩展问题
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/9062370.html
Copyright © 2011-2022 走看看