有两种特殊字符:

第一种字符可以用一个比特 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比特字符-倒序法相关推荐

  1. LeetCode每日一题题解:1189. “气球” 的最大数量

    大家经常在评论区问我如果学习Python,如何锻炼 自己的Python编程能力,这里给大家推荐一个我经常练习Python的网站:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解 ...

  2. LeetCode每日一题题解:589. N 叉树的前序遍历-题解-python C++源代码

    589. N 叉树的前序遍历 难度简单231收藏分享切换为英文接收动态反馈 给定一个 n 叉树的根节点  root ,返回 其节点值的 前序遍历 . n 叉树 在输入中按层序遍历进行序列化表示,每组子 ...

  3. LeetCode 每日一题 42. 接雨水 详细多种题解 C++描述

    LeetCode 每日一题 42. 接雨水 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,一起加油吧~ 难度 困难 2020.04.04每日一题 ...

  4. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  5. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  6. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  7. LeetCode每日一题——904. 水果成篮

    LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...

  8. LeetCode每日一题——1758. 生成交替二进制字符串的最少操作数

    LeetCode每日一题系列 题目:1758. 生成交替二进制字符串的最少操作数 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个仅由字符 '0' 和 '1' ...

  9. LeetCode 每日一题 3. 无重复字符的最长子串

    LeetCode 每日一题 3. 无重复字符的最长子串   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文原创 ...

最新文章

  1. 学习Python编程的19个资源
  2. 《Head First Java》的思考总结:第三篇
  3. 2019-7-29 考试总结
  4. c++ 外部组件发生异常_谁再悄咪咪的吃掉异常,我上去就是一 JIO
  5. 尝试在centos5下运行phantomjs2
  6. 剑指offer面试题15:链表中倒数第K个节点
  7. mybatis一对一联表查询的两种常见方式
  8. 一个拆分使用的存储过程例子
  9. java 成员函数相互调用_java 深入理解内部类以及之间的调用关系
  10. 字节跳动暑期实习前端面试
  11. 信息时代不被淘汰,获取成功需有的十种能力
  12. windows10任务栏无响应解决方案
  13. mac电脑chrome截长图
  14. 确定有限状态自动机(deterministic finite automaton)DFA
  15. Windows10 Hero默认壁纸(11色)
  16. 华三路由交换配置命令_华三华为交换机路由器配置常用命令
  17. SEO优化教程之关键词密度及TDK标签布局
  18. 4.深度强化学习------PPG(Phasic Policy Gradient)算法资料+原理整理
  19. Linux命令之ll
  20. java 正序a~z_java 策略模式,list集合,实现id 姓名年龄正序倒序排序(如果年龄或者姓名重复,按id正序排序)...

热门文章

  1. 为什么带有E-Marker芯片的数据线才是快充数据线?
  2. 整数有约 | 光彻科技:AI智能体测系统,体育老师的减负神器,来了!
  3. 【论文写作课程的启发和心得】
  4. Excel随机生成手机号码
  5. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~19开始游戏-战斗处理
  6. 迅闪2011客户端(0862)安装异常处理及注意事项
  7. 编写测试用例的几大要素组成
  8. 简单认识c语言的概念
  9. 第二课学会组装计算机 教案,《计算机组装与维护第2章教案.doc
  10. 被判3年罚250万 珊瑚虫QQ作者提起上诉