首页 > 其他 > 详细

717. 1-bit and 2-bit Characters

时间:2018-06-10 19:18:16      阅读:163      评论:0      收藏:0      [点我收藏+]
 1 static int wing=[]()
 2 {
 3     std::ios::sync_with_stdio(false);
 4     cin.tie(NULL);
 5     return 0;
 6 }();
 7 
 8 class Solution 
 9 {
10 public:
11     bool isOneBitCharacter(vector<int>& bits) 
12     {
13         int sz=bits.size();
14         int i=0;
15         while(i<sz-1)
16         {
17             if(bits[i]==1)
18                 i+=2;
19             else
20                 i+=1;
21         }
22         return i==sz-1;
23     }
24 };

这个题,从前向后扫,只要当前位为1,则不用管下一位是啥,必然要构成2位,所以当前位为1时,直接跳至下下个位置。

只有当末尾0前面有个落单的1时,末尾才不能为单,此时扫描到那个1的时候,加上2,i变为了sz

当末尾0前面不为非规则数字,i 必然不会跳过最后的0,会指向那个0,即i==sz-1

717. 1-bit and 2-bit Characters

原文:https://www.cnblogs.com/zhuangbijingdeboke/p/9164035.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!