// given two sorted arrays, find a pair of values, one from each array such that they add up to the target value given
const findPair = (arr1, arr2, target) => {
if(arr1.length < 1 || arr2.length < 1){
return null;
}
let i = 0;
let j = arr2.length-1;
let check = false;
while (i<arr1.length && j>-1) {
if(arr1[i] + arr2[j] < target) {
i++;
} else if(arr1[i] + arr2[j] > target) {
j--;
} else {
check = true;
break;
}
}
if(check){
return [arr1[i], arr2[j]];
}
return null;
}
console.log(findPair([0], [0], 10));
console.log(findPair([], [], 10));
console.log(findPair([0,1,2,5,8,10], [1,3,6,7,9,11], 10));
Run the code here:https://repl.it/@VinitKhandelwal/2-sorted-arrays-pair-sum-target-javascript
Here I answer what is the difference between .exec() and .execPopulate() in Mongoose? .exec() is used with a query while .execPopulate() is used with a document Syntax for .exec() is as follows: Model.query() . populate ( 'field' ) . exec () // returns promise . then ( function ( document ) { console . log ( document ); }); Syntax for .execPopulate() is as follows: fetchedDocument . populate ( 'field' ) . execPopulate () // returns promise . then ( function ( document ) { console . log ( document ); }); When working with individual document use .execPopulate(), for model query use .exec(). Both returns a promise. One can do without .exec() or .execPopulate() but then has to pass a callback in populate.

Comments
Post a Comment