Skip to content

Instantly share code, notes, and snippets.

@geraldyeo
Created July 31, 2016 01:33
Show Gist options
  • Save geraldyeo/2ccc7addaa2413b7dce4cecf69e660af to your computer and use it in GitHub Desktop.
Save geraldyeo/2ccc7addaa2413b7dce4cecf69e660af to your computer and use it in GitHub Desktop.
Find the length of maximum number of consecutive numbers jumbled up in an array.
// Find the length of maximum number of consecutive numbers jumbled up in an array.
// e.g.: 1, 94, 93, 1000, 2, 92, 1001 should return 3 for 92, 93, 94
var numbers = [1, 94, 93, 1000, 2, 92, 1001];
var sequences = [];
var count = 1;
var diff;
var largest;
// sort
numbers.sort(function(a, b){
return a - b;
});
// count sequences
numbers.reduce(function (prev, curr, i) {
diff = curr - prev;
if (diff === 1) {
count += 1;
} else {
sequences.push(count);
count = 1;
}
if (i === numbers.length - 1) {
sequences.push(count);
}
return curr;
});
// get the largest
largest = sequences.reduce(function(prev, curr) {
return curr > prev ? curr : prev;
});
console.log(numbers);
console.log(sequences);
console.log(largest);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment