小编eee*_*hul的帖子

设计一个堆栈,使得getMinimum()应为O(1)

这是一个面试问题.您需要设计一个包含整数值的堆栈,以便getMinimum()函数返回堆栈中的最小元素.

例如:考虑下面的例子

case #1

5  --> TOP
1
4
6
2

When getMinimum() is called it should return 1, which is the minimum element 
in the stack. 

case #2

stack.pop()
stack.pop()

Note: Both 5 and 1 are poped out of the stack. So after this, the stack
looks like,

4  --> TOP
6
2

When getMinimum() is called is should return 2 which is the minimum in the 
stack.

制约性:

  1. getMinimum应返回O(1)中的最小值
  2. 在设计时也必须考虑空间约束,如果使用额外的空间,它应该是恒定的空间.

language-agnostic algorithm stack data-structures

116
推荐指数
5
解决办法
10万
查看次数

找到列表中不存在的最小整数

我的一位同事使用的一个有趣的访谈问题:

假设您有一个非常长的未排序的无符号64位整数列表.您如何找到列表中未出现的最小非负整数?

后续行动:现在已经提出了通过排序的明显解决方案,你能比O(n log n)更快地完成吗?

FOLLOW-UP:您的算法必须在具有1GB内存的计算机上运行

澄清:列表在RAM中,但它可能会消耗大量的内容.您将提前获得列表的大小,例如N.

arrays algorithm

84
推荐指数
7
解决办法
4万
查看次数

如何检查给定的字符串是否是回文?

定义:

回文是单词,短语,数字或其他单元序列,具有在任一方向上读取相同的属性

如何检查给定的字符串是否是回文?

这是前一段时间的FAIQ [常见问题访谈问题]之一,但主要是使用C.

寻找任何和所有语言的解决方案.

language-agnostic string

56
推荐指数
15
解决办法
13万
查看次数

确定数组是否包含n ... n + m的算法?

我在Reddit上看到了这个问题,并没有提出积极的解决方案,我认为这是一个完美的问题.这是关于面试问题的一个主题:

编写一个采用大小为m的int数组的方法,如果数组由数字n ... n + m-1组成,则返回(True/False),该范围内的所有数字以及该范围内的数字.不保证数组已排序.(例如,{2,3,4}将返回true.{1,3,1}将返回false,{1,2,4}将返回false.

我遇到的问题是我的采访者一直要求我优化(更快的O(n),更少的内存等),他声称你可以在数组的一次传递中使用恒定量的记忆.从未想过那一个.

除了您的解决方案,请指出他们是否认为该阵列包含唯一的项目.同时指出您的解决方案是否假设序列从1开始.(我稍微修改了一下这个问题以允许它变为2,3,4 ......)

编辑:我现在认为在空间算法中不存在处理重复的线性时间和常数.任何人都可以验证吗?

重复问题归结为测试以查看数组是否在O(n)时间,O(1)空间中包含重复项.如果可以这样做,您可以先测试,如果没有重复,则运行算法.那么你可以在O(n)时间O(1)空间中测试欺骗吗?

arrays puzzle algorithm big-o

45
推荐指数
2
解决办法
3万
查看次数

T9类型字典背后的数据结构

T9词典如何运作?它背后的数据结构是什么.如果我们输入'4663',当我们按下按钮时我们会'好',然后'去'然后'回家'等...

编辑:如果用户键入46然后它应显示'go',按下箭头时应显示'去'等...

algorithm mobile data-structures

42
推荐指数
3
解决办法
3万
查看次数

为什么对基类的赋值有效,但是对派生类的赋值是编译错误?

这是一个面试问题.考虑以下:

struct A {}; 
struct B : A {}; 
A a; 
B b; 
a = b;
b = a; 
Run Code Online (Sandbox Code Playgroud)

为什么b = a;抛出错误,虽然a = b;完全没问题?

c++ inheritance compiler-errors

38
推荐指数
3
解决办法
1561
查看次数

测试链表是否有循环的最佳算法

确定链表是否有循环的最佳(暂停)算法是什么?

[编辑]对时间和空间的渐近复杂性的分析将是甜蜜的,因此可以更好地比较答案.

[编辑]原始问题没有解决超过1的节点,但有一些关于它的讨论.这个问题更像是"在有向图中检测周期的最佳算法".

algorithm linked-list data-structures

32
推荐指数
1
解决办法
2万
查看次数

比较两个长度相同的整数数组

[描述]给定两个长度相同的整数数组.设计一种能够判断它们是否相同的算法."相同"的定义是,如果这两个数组按排序顺序排列,则相应位置的元素应该相同.

[Example]
<1 2 3 4>  = <3 1 2 4>
<1 2 3 4> != <3 4 1 1>
Run Code Online (Sandbox Code Playgroud)

[限制]算法应该需要恒定的额外空间和O(n)运行时间.

arrays algorithm

28
推荐指数
2
解决办法
4168
查看次数

如何有效地搜索有序矩阵?

我有一个xy矩阵,其中每行和每列是按升序排列如下面给出的.

1   5   7    9
4   6   10   15
8   11  12   19
14  16  18   21
Run Code Online (Sandbox Code Playgroud)

如何搜索此矩阵中的数字O(x+y)

我被问到这个问题接受采访,但无法弄明白.很想知道它是否可以完成.

arrays algorithm search matrix

28
推荐指数
2
解决办法
2730
查看次数

用于递归查找当前目录中的所有视图专用文件的命令

什么是clearcase命令以递归方式查找当前目录中的所有视图私有文件?

command clearcase

28
推荐指数
2
解决办法
2万
查看次数