Como remover números duplicados que ocorreram mais de duas vezes, mas manter as duas primeiras ocorrências

MCO:

Então me deparei com este problema em Java que quer remover uma lista de número que ocorreu mais de duas vezes, mas mantendo a ordem, e as duas primeiras ocorrências.

Por exemplo, se a lista é 2, 3, 5, 4, 5, 2, 4, 3, 5, 2, 4, 4, 2, 10

o resultado esperado iria ser 2, 3, 5, 4, 5, 2, 4, 3, 10

Eu tentei vários métodos, incluindo a utilização de um contador int para acompanhar as ocorrências e filtrá-la para fora, mas eu não sei como eu posso ir sobre ele

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);
    }
}

o resultado esperado iria ser 2, 3, 5, 4, 5, 2, 4, 3, 10

mas i got 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:

Nesta solução, você pode alterar o número de repetições de três para outro.

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 + ", ");
    }
}

Acho que você gosta

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