Dada una matriz Arr[] de norte enteros y un entero kDónde k especifica el número máximo de operaciones que se pueden aplicar a la matriz, el trabajo es maximizar el valor mínimo de Arr[] usando la operación máxima dada k tiempo.
- En una sola operación es posible reemplazar cualquier elemento de arr . para seleccionar[] en una sola operación y puede cambiarlo con el elemento adyacente.
Ejemplos:
Aporte: N = 7, K = 4, luego[] = {9, 7, 3, 5, 7, 8, 7}
Salida: 7
Explicación: Primera operación: Cambio 3 en el índice 2 con 7 en el índice 1.
entonces el arr[] se convierte en: {9, 7, 75, 7, 8, 7}
Segunda operación: Cambio 5 en el índice 3 con 7 en el índice 2.
entonces el arr[] se está convirtiendo: {9, 7, 777, 8, 7}
Tercera operación: Cambio 7 en el índice 6 con 8 en el índice 5.
entonces el arr[] se está convirtiendo: {9, 7, 7, 7, 7, 8, 8}
Cuarta operación: Cambio 7 en el índice 1 con 9 en el índice 0.
entonces el arr[] se está convirtiendo: {9, 9, 7, 7, 7, 8, 8}
El valor mínimo en arr[] después de aplicar la operación el máximo de K veces es: 7Aporte: N = 4, K = 2, arreglo[] = {2, 5, 6, 8}
Salida: 6
Explicación: Primera operación: Cambie 5 en el índice 1 por 6 en el índice 2.
Para que el arr[] se está convirtiendo: {266, 8}
Segunda operación: Cambie 2 en el índice 0 con 6 en el índice 1.
Para que el arr[] se está convirtiendo: {66, 6, 8}
El valor mínimo de arr[] se puede lograr aplicando operaciones es: 6
Acercarse: Siga la siguiente idea para resolver el problema:
Tipo el arr[]si K es mayor o igual que la longitud de arr[]simplemente devuelva el elemento en el último índice de arr[] de lo contrario, devolver el elemento en kmi índice de arr[].
Ilustración con un ejemplo:
Considerar N = 6, K = 3, arreglo[] = {9, 7, 3, 1, 2, 5}
Podemos realizar las siguientes operaciones:
Operación 1:- Cambie 2 en el índice 4 por 5 en el índice 5 . entonces el arr[] se convierte en: {9, 7, 3, 1, 55}
Operación 2:- Cambie 1 en el índice 3 por 5 en el índice 4 . entonces el arr[] se convierte en: {9, 7, 3, 55, 5}
Operación 3:- Cambie 3 en el índice 2 por 7 en el índice 1 . entonces el arr[] se convierte en: {9, 7, 75, 5, 5}
El elemento mínimo después de un máximo de 3 actuaciones es: 5Cuando quieras tipo el arr[] Y vuelve Arr[K] obtendrá el mismo resultado: –
ordenado por[]: {1, 2, 3, 5, 7, 9}
Arr[K] = arr[3] = 5esa es la respuesta requerida.
Siga los pasos para resolver el problema:
- Tipo las series.
- Comprobar si k es mayor o igual a Arr[] O no.
- En caso afirmativo, simplemente devuelva el elemento en el último índice de arr[].
- De lo contrario, devuelva el elemento en el kmi índice de arr[].
- Imprima la salida.
A continuación se muestra la implementación del enfoque anterior:
Java
|
Complejidad del tiempo: O(N * logN), porque la clasificación está en curso.
cuarto auxiliar: O(1), porque no se necesita espacio adicional.