LeetCode每日一题题解:717. 1比特与2比特字符-倒序法
有两种特殊字符:
第一种字符可以用一个比特 0 来表示
第二种字符可以用两个比特(10 或 11)来表示、
给定一个以 0 结尾的二进制数组 bits ,如果最后一个字符必须是一位字符,则返回 true 。
示例 1:
输入: bits = [1, 0, 0]
输出: true
解释: 唯一的编码方式是一个两比特字符和一个一比特字符。
所以最后一个字符是一比特字符。
示例 2:
输入: bits = [1, 1, 1, 0]
输出: false
解释: 唯一的编码方式是两比特字符和两比特字符。
所以最后一个字符不是一比特字符。
题解:看不懂题的请看我上一篇博客(解释的很清楚)-这篇博客是用的更好的方法,上一篇是暴力-这篇采用的是倒叙法-由题意可知道每个列表的最后一个必为0,那么我们可以先找到倒数第二个0,设他的位置为 i ,下一个为i+1,n为列表的长度,i +1到n - 2 直接的字符数为 n - i - 2,如果n - i - 2 为偶数(因为 1 和1 1 和0 只要是偶数个必定可以组成完整的2比特币 ),那么最后的0肯定可以剩下,即为满足题意要求,为true,否则为false。如果为奇数,则会吃掉最后的0,返回false。
class Solution:def isOneBitCharacter(self, bits: List[int]) -> bool:n = len(bits) #求列表长度i = n - 2 #初始i的位置为 n-2while i >= 0 and bits[i]: #循环遍历,当bit[i]为0的时候 跳出循环i -= 1return (n-i)%2 == 0 #输出结果
LeetCode每日一题题解:717. 1比特与2比特字符-倒序法相关推荐
- LeetCode每日一题题解:1189. “气球” 的最大数量
大家经常在评论区问我如果学习Python,如何锻炼 自己的Python编程能力,这里给大家推荐一个我经常练习Python的网站:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解 ...
- LeetCode每日一题题解:589. N 叉树的前序遍历-题解-python C++源代码
589. N 叉树的前序遍历 难度简单231收藏分享切换为英文接收动态反馈 给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 . n 叉树 在输入中按层序遍历进行序列化表示,每组子 ...
- LeetCode 每日一题 42. 接雨水 详细多种题解 C++描述
LeetCode 每日一题 42. 接雨水 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,一起加油吧~ 难度 困难 2020.04.04每日一题 ...
- 【LeetCode每日一题】1723. 完成所有工作的最短时间
[LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...
- leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用
leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...
- LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色
LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...
- LeetCode每日一题——904. 水果成篮
LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...
- LeetCode每日一题——1758. 生成交替二进制字符串的最少操作数
LeetCode每日一题系列 题目:1758. 生成交替二进制字符串的最少操作数 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个仅由字符 '0' 和 '1' ...
- LeetCode 每日一题 3. 无重复字符的最长子串
LeetCode 每日一题 3. 无重复字符的最长子串 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文原创 ...
最新文章
- 学习Python编程的19个资源
- 《Head First Java》的思考总结:第三篇
- 2019-7-29 考试总结
- c++ 外部组件发生异常_谁再悄咪咪的吃掉异常,我上去就是一 JIO
- 尝试在centos5下运行phantomjs2
- 剑指offer面试题15:链表中倒数第K个节点
- mybatis一对一联表查询的两种常见方式
- 一个拆分使用的存储过程例子
- java 成员函数相互调用_java 深入理解内部类以及之间的调用关系
- 字节跳动暑期实习前端面试
- 信息时代不被淘汰,获取成功需有的十种能力
- windows10任务栏无响应解决方案
- mac电脑chrome截长图
- 确定有限状态自动机(deterministic finite automaton)DFA
- Windows10 Hero默认壁纸(11色)
- 华三路由交换配置命令_华三华为交换机路由器配置常用命令
- SEO优化教程之关键词密度及TDK标签布局
- 4.深度强化学习------PPG(Phasic Policy Gradient)算法资料+原理整理
- Linux命令之ll
- java 正序a~z_java 策略模式,list集合,实现id 姓名年龄正序倒序排序(如果年龄或者姓名重复,按id正序排序)...