Problem
Write a javascript function:
function solution(arr);that, given an array arr of n positive integers returns 1 if arr contains at least two items which differ by 1 otherwise 0.
Examples
- Given,
arr=[9], the method should return0. - Given,
arr=[5,4], the method should return1. - Given,
arr=[12, 2, 9, 13, 15], the method should return1. Pair of items which differ by 1 is(12, 13). - Given,
arr=[5, 11, 9, 6, 10], the method should return1. Pairs of items which differ by 1 are(5, 6),(11, 10)and(8, 9). - Given,
arr=[6, 6, 6, 6, 6], the method should return0. There are no two items in array whose values differ by 1.
Write an algorithm for the following consideration
n is a positive integer in the range of 1..,99,999].each items of an array is a positive integer in the range 1...99,99,99,999]
Solution
function solution(arr) {
if (arr && arr.length > 0) {
let visitedNum = new Set();
let result = arr.every((num) => {
if (visitedNum.has(num - 1) || visitedNum.has(num + 1)) {
return 0;
}
visitedNum.add(num);
return 1;
});
return !result;
}
return 0;
}The solution above is pretty self-explanatory.
Result
| Runtime | Memory |
|---|---|
| 80 ms | 24.6 MB |
💌 If you’d like to receive more coding solutions in your inbox, you can sign up for the newsletter here.

Discussions