「列の出現数が」番号1から始まる整数の配列で、配列内の各アイテムの前の説明です。次のように最初の5つは次のとおりです:
1.1
2.11
3.21
4.1211
5.111221
1 "は、1つ1"( "A")、すなわち、11として読み取られます。
11「は、2つの1」(「2つの1」)、すなわち、21として読み取られます。
21は、 "一2"、 "一1として読み出される "( "2"、 "A")、すなわち、1211。
正の整数N(1≤N≤30)は、n番目の直列用語出力外観を与え。
注:整数の各シーケンスは、文字列として表現されます。
例1:
入力:1つの
出力:「1」
説明:これは、基本的なサンプルです。
例2:
入力:4
出力:「1211」
説明:N = 3、配列は、我々が「2」、「1」基は、「2」が「12」のように読み取ることができる持っている「21」、すなわち、出現頻度=です= 1と値2は、同様に「1」が「11」のように読み取ることができます 答えは「12」であり、「11」であること、結合され、「1211」だから
1 パブリック クラスT38 { 2 公共ストリングcountAndSay(int型N){ 3 文字列str = "1" 。 4 のための(INT I 2 =、iが<= N; I ++ ){ 5 int型のカウント= 1 。 6 StringBuilderのSB = 新規のStringBuilder(); 7 チャー予め= str.charAt(0 )。 8 用(INT ; J <str.length(); J = 1 J ++ ){ 9 チャー C = str.charAt(J)。 10 であれば(PRE ==C){ 11 カウント++ 。 12 } 他{ 13 sb.append(カウント).append(PRE)。 14 予備= C。 15 カウント= 1 。 16 } 17 } 18 sb.append(カウント).append(PRE)。 19 STR = sb.toString()。 20 } 21 リターンSTR。 22 23 } 24 }