Advertisement
thewitchking

Untitled

Jun 19th, 2025
426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.75 KB | None | 0 0
  1. public static Map<String, Double> calculateNetBalances(List<Expense> expenses) {
  2.     Map<String, Double> netBalances = new HashMap<>();
  3.  
  4.     for (Expense expense : expenses) {
  5.         String paidBy = expense.paidBy;
  6.  
  7.         // Total amount paid by this user (credited)
  8.         double totalAmount = 0;
  9.         for (ExpenseSplit split : expense.splits) {
  10.             totalAmount += split.amount;
  11.         }
  12.  
  13.         // Credit the payer
  14.         netBalances.put(paidBy, netBalances.getOrDefault(paidBy, 0.0) + totalAmount);
  15.  
  16.         // Debit each participant
  17.         for (ExpenseSplit split : expense.splits) {
  18.             netBalances.put(split.user, netBalances.getOrDefault(split.user, 0.0) - split.amount);
  19.         }
  20.     }
  21.  
  22.     return netBalances;
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement