Programa Java para verificar si todas las rotaciones de un número dado son mayores o iguales que el número dado o no

Dado un entero x , la tarea es encontrar si cada cambio de ciclo k en el elemento produce un número mayor o igual que el mismo elemento. 
Un desplazamiento k-cíclico de un entero x es una función que elimina los últimos k dígitos de x y los inserta en su comienzo. 
Por ejemplo, los cambios k-cíclicos de 123 son 312 para k=1 y 231 para k=2 . Imprima si se cumple la condición dada; de lo contrario, imprima No.
Ejemplos: 
 

Entrada: x = 123 
Salida: Sí 
Los desplazamientos k-cíclicos de 123 son 312 para k=1 y 231 para k=2. 
Tanto 312 como 231 son mayores que 123.
Entrada: 2214 
Salida: No 
El cambio cíclico k de 2214 cuando k=2 es 1422, que es menor que 2214 
 

Enfoque: simplemente encuentre todos los k cambios cíclicos posibles del número y verifique si todos son mayores que el número dado o no.
A continuación se muestra la implementación del enfoque anterior: 
 

Java

// Java implementation of the approach
class GFG
{
 
    static void CheckKCycles(int n, String s)
    {
        boolean ff = true;
        int x = 0;
        for (int i = 1; i < n; i++)
        {
 
            // Splitting the number at index i
            // and adding to the front
            x = (s.substring(i) + s.substring(0, i)).length();
 
            // Checking if the value is greater than
            // or equal to the given value
            if (x >= s.length())
            {
                continue;
            }
            ff = false;
            break;
        }
        if (ff)
        {
            System.out.println("Yes");
        }
        else
        {
            System.out.println("No");
        }
 
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int n = 3;
        String s = "123";
        CheckKCycles(n, s);
    }
}
 
/* This code contributed by PrinciRaj1992 */
Producción: 

Yes

 

Complejidad de tiempo: O(N 2 ), donde N representa la longitud de la string dada.

La complejidad temporal del programa es O(N 2 ) porque primero ejecuta un ciclo para atravesar la string y dentro de esa función de substring se usa.

Espacio auxiliar: O(1), no se requiere espacio adicional, por lo que es una constante.

¡ Consulte el artículo completo sobre Comprobar si todas las rotaciones de un número dado son mayores o iguales que el número dado o no para obtener más detalles!

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *