LeetCode刷題之038Python 報數

2021-08-22 17:54:51 字數 1277 閱讀 5047

題目:

1.     1

2. 11

3. 21

4. 1211

5. 111221

1被讀作"one 1"("乙個一") , 即11

11被讀作"two 1s"("兩個一"), 即21

21被讀作"one 2",  "one 1""乙個二","乙個一") , 即1211

給定乙個正整數 n ,輸出報數序列的第 n 項。

注意:整數順序將表示為乙個字串。

示例 1:

輸入:1輸出:"1"
示例 2:

輸入:4輸出:"1211"
別人的解答:

class solution(object):

def countandsay(self, n):

""":type n: int

:rtype: str

不能倒過來算就正著算,當構造的數列計數變數為n時,輸出它

"""if n == 1:

return '1'

elif n == 2:

s = '11'

return s

else:

s = '11'

for i in range(3, n+1):

count = 1

result = ''

for j in range(1, len(s)):

if s[j-1] == s[j]:

count = count + 1

else:

result = result + str(count) + s[j-1]

count = 1

result = result + str(count) + s[j]

s = result

return result

Leetcode刷題之括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5 輸入 輸...

leetcode刷題之堆

今天終於開啟的第二個專題的刷題之旅堆,不過第乙個專題棧還有乙個小問題沒解決就是利用遞減棧去解決接雨水的問題,雖然那道題我用動態規劃的問題解決出來了,我記得看到過一道面試題,問棧和堆有什麼區別。通過搜尋網上的資料總結如下。棧 stack 由系統分配記憶體,速度較快,但是自己無法掌握。堆 一般用兩種方法...

leetcode刷題之樹

樹的三種遍歷方式 的 非遞迴版本 中序遍歷 下面的解法就是相當於 第一趟先把元素按照中序的順序進棧 第二趟 是相當於把 null標記過的位置給拿出來 class solution else return res 先序遍歷 class solution else return res 公共父節點 pu...