任何人都可以告诉我一种决定数字的方法是O(1)中的素数吗?
在采访中问我
答案 0 :(得分:2)
你真的找不到一种方法来决定一个数字是否是O(1)中的素数所以我会说如果有任何限制,你就可以像Yanzhe Chen说的那样使用哈希表。但如果没有限制,它将无效。
答案 1 :(得分:2)
如果没有限制,答案就不是真的。如果有,那么只需使用一个表。
答案 2 :(得分:1)
如果存在此类查询的范围限制,则可以使用哈希表,否则无法使用。一种简单的方法是将所有素数存储在一个表中,其中键是数字本身,值是否为素数。当然,你必须有这样一个表的限制范围。
答案 3 :(得分:0)
除非你有一个包含所有素数的无限HashSet /类似物,否则你不能。你不能拥有其中之一,嗯,你做不到。
Some tests在多项式时间内工作。