無盡演算法之 1位元與2位元字元

2021-10-02 02:33:36 字數 643 閱讀 2375

有兩種特殊字元。第一種字元可以用一位元0來表示。第二種字元可以用兩位元(10 或 11)來表示。

現給乙個由若干位元組成的字串。問最後乙個字元是否必定為乙個一位元字元。給定的字串總是由0結束。

示例 1:

輸入:bits = [1, 0, 0]

輸出: true

解釋:唯一的編碼方式是乙個兩位元字元和乙個一位元字元。所以最後乙個字元是一位元字元。

示例 2:

輸入:bits = [1, 1, 1, 0]

輸出: false

解釋:唯一的編碼方式是兩位元字元和兩位元字元。所以最後乙個字元不是一位元字元。

注意:1 <= len(bits) <= 1000.

bits[i] 總是0 或 1.

思路從前往後掃, 碰到1說明是乙個兩位元字元, 那指標就往後挪兩位,碰到0說明是一位元字元, 往後挪一位。

如果最後正好挪到了最後一位, 說明肯定是一位位元,反之, 是兩位。

題解

class

solution

step=bits[i]==1

?2:1

; i+=step;

}return

false;}

}

1位元與2位元字元

有兩種特殊字元。第一種字元可以用一位元0來表示。第二種字元可以用兩位元 10或11 來表示。現給乙個由若干位元組成的字串。問最後乙個字元是否必定為乙個一位元字元。給定的字串總是由0結束。示例 1 輸入 bits 1,0,0 輸出 true 解釋 唯一的編碼方式是乙個兩位元字元和乙個一位元字元。所以最...

1位元與2位元字元

有兩種特殊字元。第一種字元可以用一位元0來表示。第二種字元可以用兩位元 10 或 11 來表示。現給乙個由若干位元組成的字串。問最後乙個字元是否必定為乙個一位元字元。給定的字串總是由0結束。示例 1 輸入 bits 1,0,0 輸出 true 解釋 唯一的編碼方式是乙個兩位元字元和乙個一位元字元。所...

1位元與2位元字元

有兩種特殊字元。第一種字元可以用一位元0來表示。第二種字元可以用兩位元 10 或 11 來表示。現給乙個由若干位元組成的字串。問最後乙個字元是否必定為乙個一位元字元。給定的字串總是由0結束。示例 1 輸入 bits 1,0,0 輸出 true 解釋 唯一的編碼方式是乙個兩位元字元和乙個一位元字元。所...