rsl
BAN USERvoid find_pair(int *array, int len, int diff)
{
int i = 0, j = 0, k, l;
while (i < len)
{
k = i + 1;
if (k < len && array[i] == array[k])
{
i++;
continue;
}
for (j = i + 1; j < len; j++)
{
l = j + 1;
if (l < len && array[j] == array[l])
continue;
if ( array[j] == array[i] + diff)
{
printf("Pair (%d, %d)\n", array[i], array[j]);
}
}
i++;
}
}
// Another approach
void find_pair2(int *array, int len, int diff)
{
int count = 0;
int l = 0;
int r = 0;
while (r < len)
{
if (array[r] - array[l] == diff)
{
printf("pair (%d, %d)\n", array[l], array[r]);
r++;
l++;
}
else if (array[r] - array[l] > diff)
{
l++;
}
else
r++;
}
}
static void pair_sum()
- rsl October 29, 2015{
int[] array = {3,7,2,5,6,4};
int N = 8;
Arrays.sort(array);
int i = 0, j =1;
while (i < j && j < array.length)
{
if ( array[i] + array[j] == N)
{
System.out.println("Pair("+ array[i] + ", " + array[j]+")");
i++;
j++;
}
if ( array[i] + array[j] < N)
{
j++;
}
else
{
j = i+ 1;
}
}
}