Untitled
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