ComenzarEmpieza gratis

Implementar un buscador de transacciones duplicadas

Los registros de transacciones financieras deben validarse para asegurar que cada ID de transacción sea único. Tu tarea es implementar un método que compruebe de forma eficiente si existen IDs de transacción duplicados.

Este ejercicio forma parte del curso

Optimizing Code in Java

Ver curso

Instrucciones del ejercicio

  • Inicializa la variable seen como un Set vacío.
  • Añade transacciones a seen si no las has encontrado antes.
  • Devuelve el valor booleano adecuado si el bucle termina sin encontrar duplicados.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

public class Main {
    public static void main(String[] args) {
        TransactionProcessor processor = new TransactionProcessor();
        
        String[] transactions = {
            "TXN001", "TXN002", "TXN003", "TXN001", 
            "TXN004", "TXN005", "TXN003", "TXN006"
        };

        boolean hasDuplicates = processor.hasDuplicateTransactions(transactions);
        if (hasDuplicates) {
            System.out.println("Duplicate transactions detected!");
        } else {
            System.out.println("All transactions are unique.");
        }
    }
}

class TransactionProcessor {
    public boolean hasDuplicateTransactions(String[] transactionIds) {
        // Initialize an empty HashSet
        ____ seen = new ____<>();
        
        for (String transactionId : transactionIds) {
            if (seen.contains(transactionId)) {
                return true;
            } else {
                // First time seeing this transaction, add it to the set
                seen.____(____)
            }
        }
        
        // Return true/false if no duplicates found
        return ____;
    }
}
Editar y ejecutar código