62. Los caminos diferentes

Un robot situado en una cuadrícula mxn esquina izquierda (a partir de la figura punto por debajo de la etiqueta "Inicio").

El robot sólo puede dar un paso hacia la derecha o hacia abajo. Robot tratando de llegar a la esquina inferior derecha de la cuadrícula (en la siguiente figura con la etiqueta "Finalizar").

P. ¿Cuántos caminos diferentes que hay en total?

 

 

 Por ejemplo, el mapa es una cuadrícula de 7 x 3. ¿Cuántos posibles caminos tienen?

Ejemplo 1:

Entrada: m = 3 , n = 2 
Salida: 3 
Explicación: 
De la esquina superior izquierda, un total de tres caminos para llegar a la esquina inferior derecha.
1 . Derecho -> derecho -> abajo
 2 derecha -.> Down -> Derecha
 3 abajo -> derecho -> derecha

Ejemplo 2:

Entrada: m = . 7 , = N- . 3 
de salida: 28

consejos:

  • 1 <= m, n <= 100
  • Información sujeta a asegurar que la respuesta es menor o igual a 2 * 10 ^ 9

Pensando: sensación de repente recursiva fórmula, recursivo para F (m, n) = F (m-1, n) + F (m, n-1);

código:

1  clase Solution {
 2  pública :
 3      int uniquePaths ( int m, int n) {
 4         // F (m, n) = F (m-1, n) + F (m, n-1); 
5         int a [ 101 ] [ 101 ];
6         si (m == 0 || n == 0 ) de retorno  1 ;
7         para ( int i = 0 ; i <m; ++ i) {
 8             para ( int j = 0 ; j <n; ++ j) {
 9                si (i == 0 || j == 0 ) {
 10                     a [i] [j] = 1 ;
11                 } más {
 12                     a [i] [j] = a [i- 1 ] [j] + a [i] [j- 1 ];
13                 }
 14             }
 15         }
 16         de retorno a [m - 1 ] [n - 1 ];
17      }
 18 };

Postscript: Esta pregunta debería haber dicho en las permutaciones y combinaciones en la escuela secundaria, de hecho, el resultado es m + n m paso en la etapa de selección de inmediato, por lo que un retorno directo a C (m, m + n) puede ser.

 

Supongo que te gusta

Origin www.cnblogs.com/Swetchine/p/12664090.html
Recomendado
Clasificación