「 每日一练,快乐水题 」717. 1比特与2比特字符

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「 每日一练,快乐水题 」717. 1比特与2比特字符相关的知识,希望对你有一定的参考价值。

✅力扣原题:

力扣链接:717. 1比特与2比特字符

✅题目简述:

有两种特殊字符:

  • 第一种字符可以用一个比特 0 来表示
  • 第二种字符可以用两个比特(10 或 11)来表示、
    给定一个以 0 结尾的二进制数组 bits ,如果最后一个字符必须是一位字符,则返回 true 。

✅解题思路:

1.遍历模拟,模拟前n个数;
2.遇到0就走1步;遇到其他的就走2步;
3.最后看是否落在n-1的索引上;
4.over;

✅C++代码:

class Solution 
public:
    bool isOneBitCharacter(vector<int>& bits) 
        int n = bits.size();
        
        int i = 0;
        for(i = 0; i < n - 1; )
        
            if(bits[i] == 0)
            
                i++;
            
            else
            
                i += 2;
            
        

        return i == (n - 1);
    
;

✅结果展示:

以上是关于「 每日一练,快乐水题 」717. 1比特与2比特字符的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 717. 1 比特与 2 比特字符 / 838. 推多米诺 / 1994. 好子集的数目(状态压缩动态规划)

「 每日一练,快乐水题 」287. 寻找重复数

「 每日一练,快乐水题 」917. 仅仅反转字母

「 每日一练,快乐水题 」908. 最小差值 I

「 每日一练,快乐水题 」258. 各位相加

「 每日一练,快乐水题 」剑指 Offer 15. 二进制中1的个数