Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 查找元素在n元素数组中是否出现n/4次_Algorithm - Fatal编程技术网

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)
    时间的中位数
  • 使用3向分区基于该中位数对阵列进行分区
  • 如果中间带本身是必需的元素,则完成
    否则
    在两个分区上(中位数的左侧和右侧)应用多数元素算法。(在您的例子中,查找在n/2数组中出现n/4次以上的元素)。两者都将在
    O(n)
    时间内运行 总时间为
    3*O(n)=O(n)

    希望这有帮助:)

  • 找出
    O(n)
    时间的中位数
  • 使用3向分区基于该中位数对阵列进行分区
  • 如果中间带本身是必需的元素,则完成
    否则
    在两个分区上(中位数的左侧和右侧)应用多数元素算法。(在您的例子中,查找在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回答得不错。为了可读性,我编辑了一下,希望你不介意。为了可读性,我编辑了一下,希望你不介意。