La aparición del número de columnas

"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 }

 

Supongo que te gusta

Origin www.cnblogs.com/zzytxl/p/12510633.html
Recomendado
Clasificación