码迷,mamicode.com
首页 > 其他好文 > 详细

717. 1-bit and 2-bit Characters

时间:2018-06-10 19:35:41      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:不为   tchar   lse   while   17.   its   +=   char   扫描   

 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

标签:不为   tchar   lse   while   17.   its   +=   char   扫描   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!