演算法題 1位元與2位元字元

2021-09-20 18:34:59 字數 699 閱讀 8459

題目:

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

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

示例 1:

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

輸出: true

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

示例 2:

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

輸出: false

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

**:

class solution else

if (count % 2 == 0) else

}}}

解答題目關鍵要點:

1.其結果只和最後一位0前面連續0的個數的奇偶有關

2.在編碼的時候出現了許多次陣列越界的警告,其中要點是:

1)對於索引必須》=0的判斷一定要有

2)position >= 0)&& bits[position–] == 1與

bits[position–]==1&&position >= 0由於&&的內部執行順序不同是不一樣的,由於此,後者會出現越界的情況;所以原則是先進行陣列索引合法性檢查,在進行陣列元素訪問

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 解釋 唯一的編碼方式是乙個兩位元字元和乙個一位元字元。所...