思路:首先找出给定值在给定数组中的插入位置(不是真的将给定值插入给定数组),然后以此位置为基准,向左或向右依次找出最接近的k个整数。
难点:个人在处理过程中的难点在于向左或向右移动过程中的确切位置的确定。
代码:
<pre class="cpp" name="code"><span style="font-size:14px;"><span style="color:#ff0000;">//找出value在数组中的应该插入位置
</span>int kPosition(int A[], int nLength,int value)
{
int pos = 0;
int i = 0;
for (; i < nLength; ++i)
{
if (A[i]>value)
{
pos = i;
break;
}
}
if (i == nLength)
{
return nLength-1;
}
else
{
return pos;
}
}</span>
<span style="color:#ff0000;">//记录k个值</span>
vector<int>