有两种特殊字符:

第一种字符可以用一个比特 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. 查询Oracle中字段名带.的数据
  2. 微软从水里捞起了一个数据中心:存储效果更好,故障率仅陆上1/8
  3. php的__FILE__常量和dirname()
  4. 【Deep Learning笔记】感知机模型和学习策略
  5. 企业网络推广专员浅析企业网络推广初期网站优化应重视的一些问题
  6. Codeforces 757C - Felicity is Coming!
  7. Redis高级实用特性:发布及订阅消息
  8. JVM内存结构|本地方法栈和堆
  9. HIPS 自定义框架
  10. “征信修复”可信吗?企查查显示信用修复相关企业超1.7万家
  11. PostgreSQL的登录、创建用户、数据库并赋权
  12. Python数据分析(一):Pandas、Numpy
  13. [老老实实学WCF] 第五篇 再探通信--ClientBase
  14. 卸载神器:geek(绝对好用,中国人不骗中国人)
  15. When executing step qmake
  16. MHA-node MHA-manger相关依赖包安装
  17. 查看IP和MAC地址的命令
  18. 自动驾驶年度激辩:量产由三要素驱动,本质是数据的军备竞赛 | MEET2022
  19. excel公式不自动计算_Excel自动计算怎么设置
  20. 天热则心躁之,或曰,心静自然凉乎

热门文章

  1. 数据库设计与python交互
  2. unity3d中避免游戏物体绑定的音频在物体被销毁时无法播放
  3. python随机生成11位手机号码_python随机生成手机号码
  4. 嵌入式入门必看,看看老鸟如何华丽蜕变!(干货分享帖)
  5. 飞秋无法顺利通信时的解决办法--设置成相同的网段
  6. python显示图片 播放mp3_Python处理MP3的歌词和图片
  7. ElasticSearch 极简入门 CRUD
  8. vue - - - - - 在线预览常见文件格式 .doc, .docx, .xls, .xlsx,.pdf
  9. 印刷设计必懂知识04:印刷分辨率介绍
  10. Dubbo学习(一):dubbo的基本概念