给定数组A[n],其中 A[i+1] = A[i]+1 OR A[i]-1,和数字k,请用最有效的方式在数组A中查找k。
Given an array A[n] such that A[i+1] = A[i]+1 OR A[i]-1, and a number k, can you determine in most efficient way whether k is present in A[n] or not?
对A[0],如果它不等于k,求出他和k相差的绝对值diff,考查0+diff处的值。如果不等于k,重复以上步骤。直到找到k,或者遍历完数组。
bool Find_elem(int a[],int length,int expectedNum)
{
int i = 0;
while (i < length)
{
if (a[i] == expectedNum)
{
return true;
}
else
{
int diff = abs(expectedNum - a[i]);
i = i+diff;
}
}
return false;
}
本文介绍了一种在特定条件下高效查找数组中指定元素的方法。通过计算目标值与当前元素的差值来确定下一步搜索的位置,从而实现快速定位。
1万+

被折叠的 条评论
为什么被折叠?



