Cómo quitar números duplicados que se produjeron más de dos veces, pero mantener las dos primeras apariciones

MCO:

Así que me encontré con este problema en Java que quiere eliminar una lista del número que se ha producido más de dos veces, pero manteniendo el orden, y las dos primeras apariciones.

Por ejemplo, si la lista es 2, 3, 5, 4, 5, 2, 4, 3, 5, 2, 4, 4, 2, 10

la salida esperada sería de 2, 3, 5, 4, 5, 2, 4, 3, 10

He intentado varios métodos, incluyendo el uso de un contador int para realizar un seguimiento de las ocurrencias y filtrar hacia fuera, pero no estoy seguro de cómo me puedo ir sobre ella

class DeDup {
    // function to find the element occurring more than 3 times
    static void get2Occurrences(int arr[]) {
        int i;
        int count = 0;
        for (i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length; j++) {
                if (arr[i] == arr[j])
                    count++;
            }
            if (count < 3 && count > 0) {
                //return arr[i];
                System.out.print(arr[i] + ", ");
            } else {
                for (int k = 2; k > 0; k--) {
                    System.out.print(arr[i] + ", ");
                }
            }
        }
    }
    // driver code
    public static void main(String[]args) {
        int arr[] = new int[]{ 2, 3, 5, 4, 5, 2, 4, 3, 5, 2, 4, 4, 2, 10 }; 
        //expected output: 2, 3, 5, 4, 5, 2, 4, 3, 10
        //int n = arr.length;
        get2Occurrences(arr);
    }
}

la salida esperada sería de 2, 3, 5, 4, 5, 2, 4, 3, 10

pero tengo 2, 2, 3, 3, 5, 5, 4, 4, 5, 5, 2, 2, 4, 4, 3, 3, 5, 5, 2, 2, 4, 4, 4, 4 , 2, 2, 10, 10,

Ilya:

En esta solución, puede cambiar el número de repeticiones de tres a otra.

int[] arr = new int[]{2, 3, 5, 4, 5, 2, 4, 3, 5, 2, 4, 4, 2, 10};
Map<Integer, Integer> counting = new HashMap<>();
for (Integer current : arr) {
    int count = counting.compute(current, (x, n) -> n == null ? 1 : n + 1);
    if (count < 3) {
        System.out.print(current + ", ");
    }
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=118323&siteId=1
Recomendado
Clasificación