"Número Apariencia de columnas" es una secuencia de números enteros, comenzando con el número 1, es la descripción de la anterior a cada elemento de la secuencia. Los primeros cinco son los siguientes:
1,1
2,11
3,21
4,1211
5,111221
1 se lee como "uno 1" ( "a un"), es decir, 11.
11 se lee como "dos 1s" ( "dos uno"), es decir, 21.
21 se lee como "uno 2", "uno 1 " ( " dos", "a un"), es decir, 1,211.
Dado un número entero positivo n (1 ≤ n ≤ 30), la aparición de salida término n-ésimo serie.
Nota: Cada secuencia de números enteros se representa como una cadena.
Ejemplo 1:
Entrada: 1
Salida: "1"
Explicación: Se trata de una muestra básica.
Ejemplo 2:
Entrada: 4
de salida: "1211"
Explicación: Cuando n = 3, la secuencia es "21", que tenemos "2" y "1" grupos, "2" se puede leer como "12", es decir, frecuencia de ocurrencia = = 1 y el valor 2, de manera similar "1" se puede leer como "11." Así que la respuesta es "12" y "11" se combinan, es decir, "1211."
1 público clase T38 { 2 público Cadena countAndSay ( int n) { 3 cadena str = "1" ; 4 para ( int i = 2; i <= n; i ++ ) { 5 int count = 1 ; 6 StringBuilder sb = nuevo StringBuilder (); 7 Char pre = str.charAt (0 ); 8 para ( int j = 1; j <str.length (); j ++ ) { 9 Char c = str.charAt (j); 10 Si (pre ==c) { 11 recuento ++ ; 12 } demás { 13 sb.append (recuento) .Append (pre); 14 pre = c; 15 count = 1 ; 16 } 17 } 18 sb.append (recuento) .Append (pre); 19 str = sb.ToString (); 20 } 21 de retorno str; 22 23 } 24 }