一名用户在不定时地在保险机构购买保险,每次投保会产生保险额度 amnt、生效日 valdate、终止日 enddate,保险额度只在生效日和终止日之间有效([startdate, endate],包含边界值),多次投保时日期可重叠,现要求一个时间段 [t1, t2] 内生效保险额度的最大值。
amntList = [[amnt1, startdate1, enddate1], [amnt2, startdate2, enddate2], [amnt3, startdate3, enddate3], ... , [amntN, startdateN, enddateN]]
例:
保险额度 | 生效日 | 终止日 |
---|---|---|
30 | 2023/1/1 | 2023/6/1 |
50 | 2023/5/8 | 2023/10/8 |
90 | 2023/12/10 | 2023/4/10 |
30 | 2023/7/1 | 2023/8/1 |
40 | 2023/7/15 | 2023/12/15 |
时间范围为[2023/4/4, 2024/4/4],在这个时间段内该用户的最大有效保险金额为130。
提供思路或代码均可,我实在想不出思路,总不能遍历每一天然后看哪天的金额最多吧,谢谢