我在接受采访时被问到这个问题.虽然采访是针对网点位置的,但他在java的背景下问我这个问题,因为我在简历中也提到了java.
如何在数组中找到值为X的元素的索引?
我说从第一个元素到最后一个元素迭代,并检查值是否为X将给出结果.他询问了一种涉及较少次迭代的方法,我说使用二进制搜索,但这只能用于排序数组.我试着在Array类中使用IndexOf函数.但我身边没有回答这个问题.
有没有快速的方法来获取数组中具有值X的元素的索引?
f1s*_*1sh 16
只要没有关于数组的知识(它是排序的,升序还是降序等等),就没有办法在不检查每个元素的情况下找到元素.
而且,这正是indexOf(当使用列表时).
Ult*_*ent 11
如何在数组中找到值为X的元素的索引?
这会很快:
int getXIndex(int x){
myArray[0] = x;
return 0;
}
找到它的一种实用方法是并行处理.
只需将数组划分为N个部分,并将每个部分分配给一个线程,该线程遍历其部分的元素,直到找到值.N应该最好是处理器的核心数.
| 归档时间: |
|
| 查看次数: |
5247 次 |
| 最近记录: |