当前位置: 首页 > 知识库问答 >
问题:

数组中重复次数最多的数

昝晗昱
2023-03-14

我被问到一个面试问题,要求我返回数组中重复次数最多的数字,例如,{1,1,2,3,4}返回1。

我首先在hashtable中提出了一种方法,它要求空间复杂度O(n)。然后我说先对数组排序,然后遍历它,然后我们就可以找到数字了。

有什么优化吗?

谢了。

共有1个答案

刘凡
2023-03-14

面试官并不总是在寻找解决方案本身。有时他们会想知道你做其他事情的能力。您应该询问这些数据是否有任何限制,例如:

  • 是否已排序?
  • 值是否限制在某个范围内?

这建立了你思考问题的能力,而不是一味地吐出课本上读过的东西。例如,如果它已经排序了,您可以在O(n)个时间,O(1)个空间中进行排序,只需查找具有最大大小的运行。

  • 如果有两个计数相同的数字,他们想要什么样的行为?
  • 如果他们对你提供的解决方案不满意,试着了解他们在想什么。他们认为可以在O(log N)或O(1)中完成吗?面试从来都不是单行道。

还有很多其他的“解决方案”,比如将整个内容存储到一个类中,这样您就可以执行其他优化(比如缓存信息,或者使用不同的数据结构来加快操作)。和你的面试官讨论这些会让他们有机会看到你的行动。

顺便说一句,我告诉我的孩子们在他们的学校作业中要经常展示锻炼。如果他们只是扑通一声把答案写下来,结果是错的,他们什么也得不到。然而,如果他们展示了他们的工作,并得到了错误的答案,老师至少可以看到他们的想法是正确的(他们可能只是在过程中犯了一个小错误)。

这里完全一样。如果你简单地说“hashtable”,而面试官有不同的想法,这将是一个相当短的面试问题。

底线是,当面试官问你一个问题时,不要总是假设它像你最初想的那样简单。除了技术知识,他们可能会看到你如何解决问题,如何处理小林丸式的问题,如何在团队中工作,如何对待难缠的客户,你是否是一个秘密的精神病患者,以及其他无尽的可能性。

 类似资料:
  • 对朱莉娅来说是新来的,所以这可能很容易。 我有一个n×m的数组和一个长度为n的向量,我想在向量的对应元素中重复数组的每一行的次数。例如: 结果应该是6乘6的数组。我尝试了功能,但是 生成一个数组,因此需要作为重复元素的维度。在matlab中,我会使用,我希望julia提供类似的东西。我的实际矩阵要大得多,我需要多次调用该函数,所以这个操作需要尽可能快。

  • 问题内容: 假设我们有一个类似的数据库: Actions_tbl: Users_tbl: 想知道是否可以选择重复性最高的类似操作,而不管其用户是什么,然后用其当前用户替换我自己的user_name! 读一本书,读一本书,读另一本书,读图书馆中的书,读一本书和读一本书是最常见的单词,因此与阅读本书有关的工作人员重复了6次,我的系统应该显示随机选择这六个句子之一,并用user_name替换Araz 像

  • 我已经将代码中的read整数修复为不再是I而是一个单独的变量“index”,并理解为什么我会收到Over Ofbound异常,但我有点厚,不明白如何在添加哨兵值0的同时修复它。

  • 问题内容: 我正在寻找一种确定JavaScript数组中哪个元素的出现次数最多的优雅方法(mode)。 例如,在 该元素是最常见的元素。 问题答案: 这只是模式。这是一个 快速的,未优化的 解决方案。它应该是O(n)。

  • 我想创建一个数组,使其包含一些标识名,并且对于这些名称中的每一个,都有另一个关联的数组。我的做法是,, 执行此操作后,我得到如下结果:, 下次调用此函数时,我需要检查1-1是否存在,如果存在,我需要获取与1-1相关的列表。我该怎么做。。?如果1-1不在myArray中,我将调用其他函数。

  • 我试图用ng repeat in Angular来重复一个多维数组的子数组。我的json对象是这样的: 我尝试了这样的东西: 然后在这个孩子的表中: