解法一 暴力解法
- 数据结构是使用字典类型 dict, key是tweet的name, value是推特发布的时间
- 发推就是在dict结构体中记录key和value, value是个数组
- 遍历,初始化是起始时间,间隔根据传入的minute、hour、day的值不同,暴力就是遍历value,看看值符合不符合要求。
同时有个边界情况需要考虑一下
- 就是left和right以及time值都相等的情况
优化
- value值不能每次都重新遍历,需要排序后,指针不变
- dict的初始化使用 //www.greatytc.com/p/26df28b3bfc8
- 使用
collections.defaultdict(lambda: [])
注意点
- python的tuple和set的区别
- tuple 元祖
- 创建
test = ('value1', 'value2', 'value3')
- 无序的,访问使用下标
- 创建
- set 集合
- 创建
test = set('xxxxxx')
各个字母的集合,还可以test = {'xxx', 'xxx', 'xxx'}
这种方法只能创建非空的集合 - 无序的,不可重复,不支持使用下标访问
- 进行集合运算, 比如并,交等两个集合之间的关系
- 创建
- tuple 元祖
- 排序算法sorted的key以及list嵌套排序
- list嵌套tuple,使用tuple第二个元素进行排序, list嵌套list,嵌套dict都是同理
sorted(list_test, key = lambad x: x[1])
- list嵌套tuple,使用tuple第二个元素进行排序, list嵌套list,嵌套dict都是同理