我无法确定这个采访问题。你有一个整数数组。您需要提供另一个具有以下功能的数据结构:数据结构歧义
int get(int index)
void set (int index, int value)
void setall(int value)
他们都做你猜他们应该做的事。 限制是每个函数都在O(1)中。
你怎么设计它,以便setAll将是O(1)。
我想为每个整数添加另一个字段,它会指向每次调用setAll时都会更改的整数。问题出现时有人打电话setAll然后设置然后得到。
编辑:我改变了变量的名称,所以它会更清晰。另外,既然你问了,得到是假设返回数组[i],set(index,value)假设把数值放在数组[index]中。
后setall(index, value)
你应该get (get(i) == get(j) == value)
为阵列中的每个i,j。
什么是'i'在'set'和'setall'? – 2011-05-02 12:35:37
我假设n =阵列的长度,效率是O(n)? – 2011-05-02 12:35:55
为什么会有问题,如果有人卡莱特setAll,然后设置,然后得到? (按顺序,显然) 此外,感觉这是一个家庭作业问题,而不是属于“面试问题”部分的问题。 – 2011-05-02 12:37:55