class solution:
def countandsay(self, n):
""":type n: int
:rtype: str
"""output_str = "1"
for i in range(n-1): #for i in range(0)這是不執行的
count = 0
s = "" #儲存第i個的報數值,在新一輪迴圈之後清空
frist = output_str[0]
for c in output_str:
if c == frist:
count += 1
else:
s += str(count) + frist #這是不等情況下,s重新新增元素
frist = c
count = 1
s += str(count) + c #這是在c==frist情況下,s重新新增元素(因為在最後乙個元素時,就是相等情況)
output_str = s #把s賦值給output_str之後進行新一輪的迴圈則s可以初始化為""
#first = output_str[0] #這個可以不要,結果一樣
return output_str
LeetCode第38題 報數
題目報數序列是乙個整數序列,按照其中的整數的順序進行報數,得到下乙個數。其前五項如下 1.12.11 3.21 4.1211 5.111221 1 被讀作 乙個一 即 11。11 被讀作 兩個一 即 21。21 被讀作 乙個二 乙個一 即 1211。給定乙個正整數 n 1 n 30 輸出報數序列的第...
Leetcode刷題(38 報數)
示例 1 1121 1211 111221 1 被讀作 one 1 乙個一 即 11。11 被讀作 two 1s 兩個一 即 21。21 被讀作 one 2 one 1 乙個二 乙個一 即 1211。給定乙個正整數 n 1 n 30 輸出報數序列的第 n 項。注意 整數順序將表示為乙個字串。每次迭代...
LeetCode38 報數 水題
一開始每太看懂題目 其實就是一開始是 1 然後就是對上面報數 1乙個1 11 再對上面報數 2個1 21 再對上面報數 乙個2,乙個1 1211 報數,就是將上面的數字從左到右,將個數和數字念出來。這就好辦了,建立乙個陣列就好了,每次取前面的數字 對它遍歷,計算個數。很多坑沒有注意到,粗心了 pub...