use pointer to find all sets of 2 values in an array that equal a target sum python code example
Example 1: create a function that checks the values of the indexes in two arrays and keep a score
const triplets = (arr1,arr2) => {
let score1 = 0;
let score2 = 0;
let resultArr = [0,0]
for (let i = 0; i < arr1.length; i++){
if(arr1[i] === arr2[i]) {
resultArr[0] = score1
resultArr[1] = score2
} else if (arr1[i] > arr2[i]) {
score1++
resultArr[0] = score1
} else if (arr1[i] < arr2[i]) {
score2++
resultArr[1] = score2
}
}
return resultArr
}
Example 2: find pair in unsorted array which gives sum x
using namespace std;
bool hasArrayTwoCandidates(int A[], int arr_size,
int sum)
{
int l, r;
sort(A, A + arr_size);
l = 0;
r = arr_size - 1;
while (l < r) {
if (A[l] + A[r] == sum)
return 1;
else if (A[l] + A[r] < sum)
l++;
else
r--;
}
return 0;
}
int main()
{
int A[] = { 1, 4, 45, 6, 10, -8 };
int n = 16;
int arr_size = sizeof(A) / sizeof(A[0]);
if (hasArrayTwoCandidates(A, arr_size, n))
cout << "Array has two elements with given sum";
else
cout << "Array doesn't have two elements with given sum";
return 0;
}