開始使用免費開始

實作重複交易偵測器

為了確保每筆交易 ID 都是唯一,必須驗證財務交易記錄。你的任務是實作一個方法,用有效率的方式檢查是否存在任何重複的交易 ID。

本練習屬於課程

Java 程式碼最佳化

檢視課程

練習說明

  • seen 變數初始化為空的 Set
  • 若先前未遇過該交易,則將其加入 seen
  • 如果迴圈結束仍未找到重複,請回傳對應的布林值。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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 ____;
    }
}
編輯並執行程式碼