猿问

如何使用最少的请求实现两列相关数据的一一对应?

具体问题是这样的:
某个网站,uid和注册时间是正相关且单调,比如uid[1001-1100]是2016年6月6日注册的,uid[1101-1200]是2016年6月7日注册的。
示例
如果已知uid1000对应2016.6.5,uid1001和1100对应2016.6.6,uid1101对应2016.6.7,那么可以判定uid1001到1100都对应2016.6.6
想要获取某个uid的注册时间,只能爬取一次https://domain.com/user/:uid
我现在想获取每个uid对应的注册时间,那么要怎样设计uid生成策略,才能使得爬取的次数尽量少呢?假设总共经过了1000天,每天平均有100个新用户注册(具体数量完全随机),爬取次数大概能减少到哪个数量级?
MYYA
浏览 265回答 2
2回答

扬帆大鱼

我理解你是要通过尽量少的爬取,获取某个uid对应所属的注册时间段?(把1000天的分段?如果是这样,可能还需要不同的策略)这个其实是搜索问题的变形这个因为你有平均100用户这个信息,则可以把起始点上下各50步长去看是否还和当前是一个,然后用折半查找类似的策略进行逐次逼近。如果是要分段1000天的,从0开始依次搜索,则确定一个靠近分段点后,加100,依据情况向上或者向下搜索靠近的分段点。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答