科迪

934题。发现:更快的选择对于大型排序/独特的向量

面临的挑战是创造更快的找到方法大独特的提升向量。

1000倍的存在找到方法。

方法应用程序数据文件加载多个搜索(魔术小立方体,DNA)。

输入:(一个,val)

  • :向量[N大,1]uint32类型的,是独一无二的,升序排序
  • 瓦尔:在“a”的值向量。瓦尔将存在于“一个”。

输出:(ptr)

  • ptr:索引数组“a”(ptr)是瓦尔

分数:时间在毫秒找到200随机值在12000000年长向量

基本的发现(= = val, 1, '第一次')大约需要14秒(12米,200例)。

高性能find_fast可以找到200年4至12毫秒值向量为12米。

找时间线性增长数组大小。高性能方法似乎不承担任何处理时间增加。

提示:

  • 有多种方法,明显优于找到。
  • 二等分的搜索
  • 预测搜索
  • 结合平分/预测和线性螺纹梳刀

一个静态目标向量找到时间可以增强一个预先索引数组。不适用于这一挑战。

解决方案统计数据

71.97%正确| 28.03%正确
去年解决方案于2018年7月16日提交

问题的评论

解决方案的评论