Untitled

 avatar
unknown
plain_text
23 days ago
1.0 kB
5
Indexable
import java.util.*;

class Solution {

    private int getIndexOfMonth(String date) {
        String[] parts = date.split("-");
        int month = Integer.parseInt(parts[0]);
        int year = Integer.parseInt(parts[1]);
        return year * 12 + month; 
    }   

    public int solution(String[] A, String[] B, int[] C) {
        int N = A.length;
        int[] monthlyExpenses = new int[2400]; // 200 years * 12 months

        for (int i = 0; i < N; i++) {
            int startMonth = getIndexOfMonth(A[i]);
            int endMonth = getIndexOfMonth(B[i]);
            monthlyExpenses[startMonth] += C[i];
            if (endMonth > startMonth) {
                monthlyExpenses[endMonth + 1] -= C[i];
            }
        }

        int maxExpense = 0;
        int currentExpense = 0;
        for (int i = 0; i < monthlyExpenses.length; i++) {
            currentExpense += monthlyExpenses[i];
            maxExpense = Math.max(maxExpense, currentExpense);
        }

        return maxExpense;
    }
}
Editor is loading...
Leave a Comment