提交了好几次,有一次到了0.05,不过还是以最后一次的为准算了,差别并不大。
算法是【快速排序+哈希】
我搜到网上有人用【排序+二分查找】的,比较了一下,速度要比哈希慢,我用的基本上是最精简的哈希嘿嘿。
刚开始比较懒,直接对任何3个数的和进行哈希查找,选出最大的,结果超时。
于是只好老老实实从排完序后最大的开始,减去两个不同的数,哈希查找验证第三个是否存在,这样找到的第一个直接输出就可以了。
值得注意的是,如果输入的数字全部为负数,这样做反而用的时间比较长,我曾经试着对全部负数的输入做了反向处理,结果运行的时间没有变化,可见OJ上的测试数据没有全负数的,至少没有比较大的全负数测试数据。
算法是【快速排序+哈希】
我搜到网上有人用【排序+二分查找】的,比较了一下,速度要比哈希慢,我用的基本上是最精简的哈希嘿嘿。
刚开始比较懒,直接对任何3个数的和进行哈希查找,选出最大的,结果超时。
于是只好老老实实从排完序后最大的开始,减去两个不同的数,哈希查找验证第三个是否存在,这样找到的第一个直接输出就可以了。
值得注意的是,如果输入的数字全部为负数,这样做反而用的时间比较长,我曾经试着对全部负数的输入做了反向处理,结果运行的时间没有变化,可见OJ上的测试数据没有全负数的,至少没有比较大的全负数测试数据。