JSFiddle - React, Tailwind, and code Playground
by atOm aNt
HTML
Result:
<div id="result"></div>Array:
<div id="array"></div>
JavaScript
var N = 100;
var K = 20;
var A = [];
for (var i = 0; i < N; i++) {
if (i % 10 === 0) {
A[i] = 50;
} else {
A[i] = 1;
}
}
var number_of_slices = 0,
current_max_bound = 0,
current_position = 0,
current_max_bound_value;
var current_value = A[current_position];
while (current_max_bound < N) {
current_max_bound_value = A[current_max_bound];
if (Math.abs(current_max_bound_value - current_value) < K) {
current_max_bound += 1;
} else {
number_of_slices += 1;
current_max_bound += 1;
current_position = current_max_bound;
current_value = A[current_position];
}
}
$('#result').html(number_of_slices);
$('#array').html(A.toString());