717. 1-bit and 2-bit Characters
2018-03-13 11:31
323 查看
问题描述
We have two special characters. The first character can be represented by one bit0. The second character can be represented by two bits (
10or
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
0or
1.
题目链接:
思路分析
三种编码方式:0,10,11。问一串编码的最后一个字符是不是只有一位。用一个bool表示当前位置的编码是2位还是1位。因为有1的话必定是两位的编码,所以直接+2,并置true。看循环到结束时以何种方式结束的。
代码
class Solution { public: bool isOneBitCharacter(vector<int>& bits) { int i = 0; bool two = false; while(i < bits.size()){ if (bits[i] == 1){ i += 2; two = true; } else{ i++; two = false; } } return !two; } };
时间复杂度:O(n)
空间复杂度:O(1)
反思
没什么难度,想明白题目要求就行了。相关文章推荐
- 717. 1-bit and 2-bit Characters
- 717. 1-bit and 2-bit Characters。
- 717. 1-bit and 2-bit Characters
- 717. 1-bit and 2-bit Characters
- 717. 1-bit and 2-bit Characters
- 717. 1-bit and 2-bit Characters 1、2位字符
- 717. 1-bit and 2-bit Characters(数组)
- leetcode 717. 1-bit and 2-bit Characters 编码判断问题 + 贪心算法 + 遍历即可
- LeetCode 717. 1-bit and 2-bit Characters
- 717. 1-bit and 2-bit Characters
- 717. 1-bit and 2-bit Characters
- LeetCode717. 1-bit and 2-bit Characters 解题
- 717. 1-bit and 2-bit Characters
- LWC 56:717. 1-bit and 2-bit Characters
- 717. 1-bit and 2-bit Characters--Python
- [Leetcode] 717. 1-bit and 2-bit Characters 解题报告
- 【LeetCode】717. 1-bit and 2-bit Characters(一位数和两位数)
- 717. 1-bit and 2-bit Characters
- LeetCode-717. 1-bit and 2-bit Characters
- 717. 1-bit and 2-bit Characters