图片不清晰的 可以看这个图片: https://i.loli.net/2020/08/28/iI8pg1mxusXqZtC.png
规律:
一片场地的下一个时段的 id 是上一个时段 id+1.
需求是这样的:
快速的筛选出一片连续两个小时的场地。
目前进度是这样的:
已经使用 goquery 获取到了场地对应的 goods_id,我要怎么组织这个数据结构呢 。
我目前是用 []map[int]string 对应的是 每一个时间段的 goods_id 和状态。去存这个 goods_id 的信息。
那我该如何去判断同一个场地的连续两个时间段是可预订的呢 。
大佬们,我这个改如何存储场地信息才能快速实现这个需求呢 ?
1
THESDZ 2020-08-28 16:36:50 +08:00
空间换时间
第一个对象存储 id:状态 |
2
THESDZ 2020-08-28 16:37:29 +08:00
空间换时间
第一个对象存储 id:状态 第二个对象存储 id:[相邻的 id] |
3
THESDZ 2020-08-28 16:39:03 +08:00
看错了,打扰了
|
4
linvon 2020-08-28 16:45:08 +08:00
map[int]struct{} 去存 id 对应的的场次信息,然后不就是在 id 集中找存在相连数据的 id 吗?
|
5
rrfeng 2020-08-28 17:05:06 +08:00
转置一下呀,把 data[时间][场地]=状态 转换成 data[场地][时间]=状态,然后遍历一遍就行了呗。
|
6
wangsongyan 2020-08-28 17:08:19 +08:00
每个场地一个 slice,循环检查前后两场状态?
|
7
swqslwl 2020-08-28 17:49:49 +08:00 via Android
key 是行列数组成的 id,value 是个 slice 保存 2 个时间段数据。
|
8
allenhu 2020-08-28 21:55:24 +08:00 via Android
用 js 不香吗?
|