我创建了一个检测数组中重复项的代码,我认为没有比这更快的算法:
ON (or WHERE ...) MY_VIEW.col1 = SUBSTR(TARGET_TABLE.col1, -4)
它在O(n)中。是否也可以在o(n)中解决这个问题?
答案 0 :(得分:0)
当然没有,因为你必须至少经历一次数组,而你正在做这件事。因此,为了检查您是否有重复项,您将在O(n) ° F(n)
(可以是+
或*
)中执行此操作。所以,只有您留下的是确保您不要#39; t增加速度,因此您需要最小化F(n)
。检查Set
中的某些内容是否为O(1)
,以便您留下O(n)
,就是这样。