Cortar la cuerda - oferta para probar la seguridad

título Descripción

Usted da una cadena de longitud n, por favor, longitud de corte de números enteros de segmentos de cuerda m (m, n es un número entero, n> 1 y m> 1), la longitud de cada cuerda se denota k [0], k [1], ..., k [m]. Se k [0] xk [1] x ... xk [m] máximo posible del producto es ¿cuánto? Por ejemplo, cuando la longitud de la cuerda es 08:00, lo cortamos en longitudes de tres secciones: 2,3,3 del producto obtenido en este momento es el máximo 18
 
Pensando: tanto como sea posible y luego se corta la longitud de la cuerda 3 2 construyeron una pequeña nota que si se deja, a continuación, construido 4 2 2 * 3 * 1 que bien
público  clase Solution {
     público  int cutRope ( int objetivo) {
         si (objetivo <= 1) volver 0 ;
        si (objetivo == 2) de regreso 1 ;
        si (objetivo == 3) de regreso 2 ;
        int x = target / 3 ;
        int y = destino% 3 ;
        si (y == 1 ) {
             retorno 4 * ( int ) Math.pow (3, x-1 ); 
        } 
        Demás  si (y == 2 ) {
            volver 2 * ( int ) Math.pow (3 , x); 
        } Más {
             retorno ( int ) Math.pow (3 , x); 
        } 
    } 
}

 La programación dinámica puede ser también

La longitud de las dos mitades es igual al producto actual de la longitud máxima de cada uno de los dos medio-producto de la máxima - "subestructura óptima y subproblemas superpuestos 

público  clase Solution {
     público  int cutRope ( int objetivo) {
         si (objetivo <= 1) volver 0 ;
        si (objetivo == 2) de regreso 1 ;
        si (objetivo == 3) de regreso 2 ;
        int [] proyecto = nuevo  int [target + 1 ]; 
        proyecto [ 0] = 0 ; 
        proyecto [ 1] = 1 ; 
        proyecto [ 2] = 2 ; 
        proyecto [ 3] = 3 ;
        para (int i = 4; i <= objetivo; i ++ ) {
             int max = 0 ;
            para ( int j = 1; j <= i / 2; j ++ ) { 
                max = Math.max (max, proyecto [j] * proyecto [i- j]); 
            } 
            Proyecto [i] = max; 
        } 
        Devolver proyecto [objetivo]; 
    } 
}

 

Supongo que te gusta

Origin www.cnblogs.com/nlw-blog/p/12483911.html
Recomendado
Clasificación