
1 swuzjb 2018-08-28 19:50:26 +08:00 转 set 取交集 retainAll |
2 lambdaxs 2018-08-28 19:58:52 +08:00 两两循环,取相等,算法复杂度 n2 |
3 johnniang 2018-08-28 20:04:58 +08:00 via Android 先排序吧,然后再比较最小值取最小,比较最大值取最小,截取 List,最后转 Set |
4 Bryan0Z 2018-08-28 20:11:04 +08:00 via Android 排序,然后三个指针遍历一次 |
5 cyhou 2018-08-28 20:11:42 +08:00 Guava: Sets.intersection(Sets.newHashSet(ListA), Sets.newHashSet(ListB)) |
7 fmumu 2018-08-28 23:28:06 +08:00 via Android 循环往 set 里面放,set 的 add 方法是有返回的,当 set 里面已经包含这个元素时,会返回 false |
8 hearfish 2018-08-29 02:52:26 +08:00 本来就有序的话三个指针遍历一次就行 无序的话维护一个 HashMap<Date, Integer>,统计每个日期出现的次数,最后遍历一次只返回出现 n 次的就行 |
9 jamesxu 2018-08-29 07:13:14 +08:00 via iPhone CollectionUtils.intersection |
11 inreality 2018-0-29 09:31:38 +08:00 可以说的更仔细一点吗,是日期段的交集还是日期点的交集 |
12 WisdomWang 2018-08-29 09:57:18 +08:00 用流? |
13 wysnylc 2018-08-29 10:36:57 +08:00 三个集合转 HashMap,循环 A 同时 get B C,循环四次搞定 |
14 bumz 2018-08-29 10:40:18 +08:00 你这个业务逻辑看上去不是集合取交集,而是区间取交集 那就更简单了,找到左端点的最大值,右端点的最小值 |