比方说,我评论了一张图片,其中还有100万条评论。如果您尝试按“查看更多的注释”,它将加载50次。正如你可以想象的那样,以这种方式在帖子中找到最初的评论可能需要很多小时。
我可以转到我的活动日志并点击那里的评论,但是当我点击它时,我会被带到帖子上,但我仍然需要滚动才能找到评论。如果有人碰巧回复了我的评论,我可以点击Facebook的通知,然后把我带到那个帖子,然后自动滚动到我的评论上。但如果没人回答,我就不会有这种能力了。
我怎么才能找到我在这样一个帖子上发表的评论而不浏览几个小时呢?
发布于 2013-10-16 19:05:52
您可以通过使用二进制搜索并手动更改url找到您的注释:
https://www.facebook.com/{page}/posts/{postID}?comment_id={comment_id}&offset=0&total_comments=1000000offset以查找您的注释,您知道它应该介于0(下限)和注释数量(在本例中为1000 000)之间。偏移量0表示最新的帖子,1000000表示最老的帖子(在本例中)。comment_id从URL中移除并将偏移量更改为M。该URL应类似于以下https://www.facebook.com/{page}/posts/{postID}?offset=M&total_comments=1000000这将在log2(1000000)=17次迭代中给出您的注释,因此即使它很复杂,您也会发现注释的速度要快得多。
为了更快地找到你的评论,你可以用时差来猜测L和U之间的一些事情,然后是M。
可选:
让t_L表示后L和post U之间的时间差(例如分钟),t_Y表示您的帖子与post U之间的时间差,那么下面的M公式应该在很少的迭代中找到您的帖子(1、2、3取决于评论分布的均匀程度):
M = (U - L) / t_L - L但是它可能不会为你节省很多时间,因为用分钟计算时差是很复杂的。
如果没有一百万条注释,您可能可以跳过二进制搜索,而只是从第一个注释、最后一个注释和您的评论之间的时间差来猜测。
https://webapps.stackexchange.com/questions/50687
复制相似问题