给定数组中未排序的列表,是否必须至少需要线性时间才能找到小于x的元素数?如果是这样,为什么?
答案 0 :(得分:3)
是的,您需要至少检查一次每个数字,以了解它是否小于指定的阈值。如果数字没有排序,那么你无法推断它们。
答案 1 :(得分:0)
是的,您至少需要线性时间。没有检查它就无法知道元素是否小于x,所以你必须检查每个元素一次。
如果您先对其进行排序,那么只要元素大于x,就可以停止。
答案 2 :(得分:0)
如果您允许无限数量的处理器,您可以在接近恒定的时间内解决问题,假设连接结果很快:只需将数组拆分为固定大小的块,并在单独的处理器上处理每个块。 / p>
如果我们谈论单个处理器,我会说你需要线性时间: