「外觀數列」是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下:
1. 12. 11
3. 21
4. 1211
5. 111221
1
被讀作"one 1"
("乙個一"
) , 即11
。
11
被讀作"two 1s"
("兩個一"
), 即21
。
21
被讀作"one 2"
, "one 1"
("乙個二"
,"乙個一"
) , 即1211
。
給定乙個正整數 n(1 ≤ n ≤ 30),輸出外觀數列的第 n 項。
注意:整數序列中的每一項將表示為乙個字串。
思路不難,實現起來稍微複雜。就是按照你在紙上求解的思路,進行實現。遍歷的時候計數,碰到不同的數字就把前面記錄的寫下來。當遍歷到最後也到再新增記錄。整體的思路比較明確,但是實現的方式還是複雜很多。可以用其他的容器來消除冗餘**。
class solution
if(original.get(i) != temp)
if(i == original.size() - 1) }}
stringbuilder sbuilder = new stringbuilder(); // 最後把陣列轉為字串
for(char x : original)
return sbuilder.tostring();
}}
leetcode38 外觀數列
外觀數列 是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下 1.1 2.11 3.21 4.1211 5.111221 1 被讀作 one 1 乙個一 即 11。11 被讀作 two 1s 兩個一 即 21。21 被讀作 one 2 one 1 乙個二 乙個一 即 12...
LeetCode38 外觀數列
題目描述 外觀數列 是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下 1.1 2.11 3.21 4.1211 5.111221 1 被讀作 one 1 乙個一 即 11。11 被讀作 two 1s 兩個一 即 21。21 被讀作 one 2 one 1 乙個二 乙個一...
leetcode 38 外觀數列
38.外觀數列 給定乙個正整數 n 1 n 30 輸出外觀數列的第 n 項。注意 整數序列中的每一項將表示為乙個字串。外觀數列 是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下 1 11 21 1211 111221 第一項是數字 1 描述前一項,這個數是 1 即 乙個...