我遇到了一个面试问题:
"考虑到不同大象的生命时间.找出最大数量的大象活着的时期." 例如:
输入:[5, 10],[6, 15],[2, 7]
输出:[6,7](3个大象)
我想知道这个问题是否与'n'个字符串的最长子字符串问题有关,这样每个字符串代表一个时间段的连续范围.
例如:
[5,10] <=> 5 6 7 8 9 10
如果没有,那么这个问题的解决方案是什么?我想用C++编写代码.
任何帮助将不胜感激.
对于每只大象,创造两个事件:大象出生,大象死亡.按日期对事件排序.现在,您可以浏览这些活动,并了解有多少大象活着; 每次达到新的最大值时,记录开始日期,每次从最大记录下降结束日期.
此解决方案不依赖于整数日期.
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |