LeetCode:贪婪算法
贪婪算法基础
我
717. 1-bit and 2-bit Characters
class Solution { public boolean isOneBitCharacter(int[] bits) { /** * 思路: * 利用一个指针来从左向右扫描数组,我们就是要看最后两位构不构成2B,如果扫描到倒数第二是1,说明,前面所有位都已经被解析,所以1必定和0,构成2B * 但是如果将要扫描的已经略过倒数第二位指到了倒数第一位,那么肯定最后一位只能是1B */ int point = 0; while(point<bits.length-1) { point = point +bits[point]+1; //注意,这里巧妙的将2B进行了移动 } //到这里point指的位置,如果不为长度-1,那么必为长度+1 return point==bits.length-1; } }