我在昨天的采访中被问到以下问题:
考虑一个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.
Run Code Online (Sandbox Code Playgroud)
我能想到的最好的是线性搜索.在采访之后我虽然在这个问题上做了很多但却找不到更好的解决方案.我的论点是:具有required属性的元素可以在数组中的任何位置.所以它也可能在数组的最后,所以我们需要检查每个元素.
我只想在这里向社区证实我是对的.请告诉我我是对的:)
谢谢