给一个时间戳:
[1622684132, 1622340684, 1609467684, 1620269348, 1622170244, 1620183031, 1621997539, 1622084071, 1620097772, 1620211821, 1620125850, 1609499515, 1622375884, 1622290033, 1622031560, 1622557942]
判断条件如下:
要求在指定时间范围
不能在多组结果中出现重复时间 出现重复 以条数多的为准
有时间在两租数字范围中同时成立时,只取最近的那一组
要求每组结果 >= 3 条才能成立
根据这个条件找出以下的结果
例如: 指定范围 60 分钟 = 3600 秒
第一步 取出指定时间范围的 list 得到以下结果
[1622684132, 1622340684, 1609467684]
[1622340684, 1609467684, 1620269348, 1622170244, 1620183031, 1621997539, 1622084071, 1620097772]
[1620211821, 1620125850, 1609499515]
[1609499515, 1622375884, 1622290033, 1622031560]
第二步 判断重复时间
发现 第一 第二 是有重复时间 1609467684 的
所以只取条数最多的 list
也就是第一条作废 保留第二条
第三 第四 有重复时间 1609499515
只保留 第四条
第三步 如果有重复时间在两组数列条数一样 取时间最近的那一组
没有此条件的结果 跳过
第四部 要求结果>= 3 条
根据这个最终筛选条件
符合的是
[1622340684, 1609467684, 1620269348, 1622170244, 1620183031, 1621997539, 1622084071, 1620097772]
[1609499515, 1622375884, 1622290033, 1622031560]
输出这两个 list 即可
有没有算法大佬请教一下 这种题目怎么做?