Algorithm 查找元素在n元素数组中是否出现n/4次
有人问我这个问题。我尝试使用多数元素法,但它对我无效。请提供一些提示Algorithm 查找元素在n元素数组中是否出现n/4次,algorithm,Algorithm,有人问我这个问题。我尝试使用多数元素法,但它对我无效。请提供一些提示 找出O(n)时间的中位数 使用3向分区基于该中位数对阵列进行分区 如果中间带本身是必需的元素,则完成 否则 在两个分区上(中位数的左侧和右侧)应用多数元素算法。(在您的例子中,查找在n/2数组中出现n/4次以上的元素)。两者都将在O(n)时间内运行 总时间为3*O(n)=O(n) 希望这有帮助:) 找出O(n)时间的中位数 使用3向分区基于该中位数对阵列进行分区 如果中间带本身是必需的元素,则完成 否则 在两个分区上(中位数的
O(n)
时间的中位数否则
在两个分区上(中位数的左侧和右侧)应用多数元素算法。(在您的例子中,查找在n/2数组中出现n/4次以上的元素)。两者都将在
O(n)
时间内运行李>
总时间为3*O(n)=O(n)
希望这有帮助:)
O(n)
时间的中位数否则
在两个分区上(中位数的左侧和右侧)应用多数元素算法。(在您的例子中,查找在n/2数组中出现n/4次以上的元素)。两者都将在
O(n)
时间内运行李>
总时间为3*O(n)=O(n)
希望这有帮助:)它需要运行多快?O(n)?O(n)lg n?任何事情?如果没有要求(例如,确定性、内存要求、时间要求),就不可能回答。您有什么类型的元素?特定的元素x,或者确定是否有任何元素至少占值的25%?如果有帮助,您可以接受答案。未来的游客也将从中受益。它需要运行多快?O(n)?O(n)lg n?任何事情?如果没有要求(例如,确定性、内存要求、时间要求),就不可能回答。您有什么类型的元素?特定的元素x,或者确定是否有任何元素至少占值的25%?如果有帮助,您可以接受答案。未来的游客也将从中受益。+1回答得不错。为了可读性,我编辑了一下,希望你不介意。为了可读性,我编辑了一下,希望你不介意。