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...