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;
        }
    }
  • 相关阅读:
    2.pt-table-checksum工具
    Mysql8.0新特性01
    12.redis 之阅读大佬文章随笔
    4.Mysql之Mysqldump命令
    5. 关于高负载服务器Kernel的TCP参数优化
    Mysql Oracle 备份表数据、批量删除表数据
    Mysql limit用法
    Java 字符串数组转字符串
    Layui 自定义年份下拉框并且可输入
    Mysql 生成UUID
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/9062370.html
Copyright © 2011-2022 走看看