[Leetcode] 717. 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
.
解题思路:
这个题目一开始我的思路是只看最后4个数,然后一共8种情况分情况讨论,后来发现有些情况的答案是不确定的,需要看更多的数才能决定,后来上网看了一下别人的思路觉得很好,思路如下:
由于10, 11两个编码都是以1开头的,这意味着只要是以1开头的后面一个数必定是根这个1一起的字符编码。利用这一点:
用一个指针从前向后走,遇到1就走两步,遇到0就走一步,看最后是不是走到n-1的位置,说明最后的0只能是单独存在的,否则走到n的位置就说明这个0是跟前面的1一起的。
代码实现(Java语言):
class Solution {public boolean isOneBitCharacter(int[] bits) {int i = 0;for(i = 0;i < bits.length - 1;){if(bits[i] == 0){i++;}elsei += 2;}System.out.println(i);return (i == bits.length-1)?true:false;}
}
[Leetcode] 717. 1比特与2比特字符相关推荐
- 「 每日一练,快乐水题 」717. 1比特与2比特字符
✅力扣原题: 力扣链接:717. 1比特与2比特字符 ✅题目简述: 有两种特殊字符: 第一种字符可以用一个比特 0 来表示 第二种字符可以用两个比特(10 或 11)来表示. 给定一个以 0 结尾的二 ...
- 717. 1比特与2比特字符
链接:717. 1比特与2比特字符 题解: class Solution { public:bool isOneBitCharacter(vector<int>& bits) {i ...
- 【leetcode24-----1比特与2比特字符】
1比特与2比特字符 有两种特殊字符: 第一种字符可以用一比特 0 表示 第二种字符可以用两比特(10 或 11)表示 给你一个以 0 结尾的二进制数组 bits ,如果最后一个字符必须是一个一比特字符 ...
- 【每日一算法】1比特与2比特字符
微信改版,加星标不迷路! 每日一算法-1比特与2比特字符 有两种特殊字符.第一种字符可以用一比特0来表示.第二种字符可以用两比特(10 或 11)来表示. 现给一个由若干比特组成的字符串.问最后一个字 ...
- 刷爆力扣之1 比特与 2 比特字符
刷爆力扣之1 比特与 2 比特字符 HELLO,各位看官大大好,我是阿呆
- 【LeetCode717】1比特与2比特字符
1比特与2比特字符 有两种特殊字符.第一种字符可以用一比特0来表示.第二种字符可以用两比特(10 或 11)来表示.现给一个由若干比特组成的字符串.问最后一个字符是否必定为一个一比特字符.给定的字符串 ...
- LeetCode 158. 用 Read4 读取 N 个字符 II
文章目录 1. 题目 2. 解题 1. 题目 给你一个文件,并且该文件只能通过给定的 read4 方法来读取,请实现一个方法使其能够读取 n 个字符. 注意:你的 read 方法可能会被调用多次. r ...
- LeetCode 157. 用 Read4 读取 N 个字符
文章目录 1. 题目 2. 解题 1. 题目 给你一个文件,并且该文件只能通过给定的 read4 方法来读取,请实现一个方法使其能够读取 n 个字符. read4 方法: API read4 可以从文 ...
- 比特交织 matlab,比特交织空时编码不对称调制方案及软件分析
空時编码作为一种联合考虑发射分集.编码和调制的信道编码技术,由于其优良的性能,近年来很多学者将比特交织编码调制(BICM)与空时分集技术相结合,提出了比特交织空时编码调制(BI-STCM)[1-4], ...
- LeetCode 每日一题 3. 无重复字符的最长子串
LeetCode 每日一题 3. 无重复字符的最长子串 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文原创 ...
最新文章
- JQuery控制图片无缝滚动
- KITTI IMU 原始100Hz数据 (里面数据有重复)
- 如何最小化混合云中影子IT带来的风险
- USACO Section1.2 Your Ride Is Here(水题)
- [Unity] TortoiseSVN 的 CheckOut 未响应的解决记录
- linux 数据库 超出,[QAD]数据库超过2G,备份出现问题(linux)
- mysql 创建用户并授权_教你MySQL-8.0.x数据库授权
- java guava map_Guava - Map
- linux检查编译windows,用C,C检测Windows或Linux
- EpsonL360清零软件+清零方法
- python set函数排序_python set集合排序_Python Set集合
- 实战解决小程序图片加载问题
- php面向对象常见的专业术语
- B. Alice and the List of Presents(组合数学)
- node.js之async的使用(series,whilst)
- 从果粉到黑吃黑:一个论坛挂马的奇异反转
- 王者荣耀在android目录下的名字,王者荣耀名字空白代码怎么弄_名字空白代码设置方法...
- 实战为上!深入解析20个运维命令
- 想跳槽涨薪的必看,Java就业指导(1)
- 仪表盘故障图像识别_仪表自动识别方法汇总