LeetCode 數數並說

2021-08-18 03:10:52 字數 1263 閱讀 2177

github:

數數並說序列是乙個整數序列,第二項起每一項的值為對前一項的計數,其前五項如下:

1.     1

2. 11

3. 21

4. 1211

5. 111221

6. 312211

7. 13112221

8. 1113213211

9. 31131211131221

10. 13211311123113112211

1 被讀作 「乙個一」 即 11。

11 被讀作 「兩個一」 即 21。

21 被讀作 「乙個二 和 乙個一」 即 1211。

1211被讀作」乙個一」和」乙個二「和」兩個一「即111221。

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

注意:該整數序列的每項都輸出為字串。

例 1:

輸入: 1

輸出: "1"

例 2:

輸入: 4

輸出: "1211"

題目本身不難,而且題目的命名也變相的給了提示。數數並說。搞清楚何時並說何時不並說就可以了。

根據題目的條件可以知道:

並說:超過1個相同的數字連在一起時,並說,也就是」

不並說:前後數字不同時,不並說,需要單說,也就是」

綜上,需要我們把數字的值(value)連續位數(count)記錄下來,當數字發生變化時追加連續位數到結果中即可。

@test

public

void test()

public string countandsay(int n)

// 追加連續位數到結果中

// 追加連續位數的值到結果中

}result = builder.tostring();

}return result;

}

LeetCode 數數並說

1.1 2.11 3.21 4.1211 5.1112211被讀作 one 1 乙個一 即11。11被讀作 two 1s 兩個一 即21。21被讀作 one 2 one 1 乙個二 乙個一 即1211。給定乙個正整數 n 輸出報數序列的第 n 項。注意 整數順序將表示為乙個字串。示例 1 輸入 1輸...

Leetcode演算法 38 數數並說

數數並說序列是乙個整數序列,第二項起每一項的值為對前一項的記數,其前五項如下 111 211211 111221 1 讀作 1個1 即 11 11 讀作 兩個1 即 21 21 讀作 乙個2,乙個1 即 1211 給定乙個整數n,1 n 30,生成數數並說序列的第 n 項。備註 該整數序列的每一項都...

數數並說 Count And Say

報數序列是指乙個整數序列,按照其中的整數的順序進行報數,得到下乙個數。其前五項如下 1.1 2.11 3.21 4.1211 5.111221給定乙個正整數 n 輸出報數序列的第 n 項。注意 整數順序將表示為乙個字串。解法一 亂糟糟版 public string countandsay int n...