在昨天的面试中,我被问到了以下问题:
考虑一个Java或C++数组,比方说X
,它是经过排序的,其中没有两个元素是相同的。怎样才能找到一个索引,比如i
,这样位于该索引处元素也是i
。这就是X[i] = i
。
作为澄清,她还给了我一个例子:
Array X : -3 -1 0 3 5 7
index : 0 1 2 3 4 5
Answer is 3 as X[3] = 3.
我能想到的最好的方法就是线性搜索。面试后,我对这个问题想了很多,但找不到更好的解决方案。我的参数是:具有required属性的元素可以在数组中的任何位置。所以它也可能在数组的末尾,所以我们需要检查每个元素。
我只是想从这里的社区确认一下我是对的。请告诉我我是对的:)
https://stackoverflow.com/questions/4172580
复制相似问题