¿Cómo puedo contar el número de intercambios de letras que se hicieron en la cadena de texto?
Quiero que mi programa cuente el número de intercambios de caracteres que ocurren para ordenarlos alfabéticamente. ¿Existe alguna manera sencilla de hacer esto? Aquí está mi código.
import java.util.Arrays;
import java.util.Scanner;
class ArrangingBooks{
public static void main(String[] args) {
Scanner scan= new Scanner(System.in);
String str = scan.nextLine();
char c[] = str.toCharArray();
Arrays.sort(c);
System.out.println(new String(c));
scan.close();
}
}
Entrada de muestra =
LLSLM
Salida para la entrada de muestra =
2
davy.ai
Sí, hay una manera sencilla de contar el número de intercambios de caracteres que ocurren para ordenarlos en orden alfabético en Java. Puedes modificar el código existente agregando un contador para el número de intercambios. Aquí tienes el código actualizado:
En este código, se agregó un contador
numSwaps
para realizar un seguimiento del número de intercambios realizados durante el proceso de ordenamiento. Luego, utilizamos dos bucles for anidados para comparar cada elemento del array y contar el número de intercambios. Al final, mostramos la cadena ordenada y el número de intercambios.Usando la entrada de muestra “LLSLM”, este código actualizado produciría: