// this code is if the prob was for contiguous elem
class main {
public static int mingrps(int[] nums, int k) {
int cnt = 0;
int min = nums[0], max = nums[0];
for (int i = 0; i < nums.length; i++) {
max
= Math.
max(nums
[i
], max
); min
= Math.
min(nums
[i
], min
); if (max - min > k) {
max = nums[i];
min = nums[i];
cnt++;
}
}
return cnt+1; // Add 1 to account for the last group
}
int[] movies = {1, 5, 4, 6, 8, 9, 2};
int k = 3;
int groups = mingrps(movies, k);
System.
out.
println("Output: " + groups
); }
}
Ly8gdGhpcyBjb2RlIGlzIGlmIHRoZSBwcm9iIHdhcyBmb3IgY29udGlndW91cyBlbGVtCmNsYXNzIG1haW4gewogICAgcHVibGljIHN0YXRpYyBpbnQgbWluZ3JwcyhpbnRbXSBudW1zLCBpbnQgaykgewogICAgICAgIGludCBjbnQgPSAwOwogICAgICAgIGludCBtaW4gPSBudW1zWzBdLCBtYXggPSBudW1zWzBdOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBtYXggPSBNYXRoLm1heChudW1zW2ldLCBtYXgpOwogICAgICAgICAgICBtaW4gPSBNYXRoLm1pbihudW1zW2ldLCBtaW4pOwogICAgICAgICAgICBpZiAobWF4IC0gbWluID4gaykgewogICAgICAgICAgICAgICAgbWF4ID0gbnVtc1tpXTsKICAgICAgICAgICAgICAgIG1pbiA9IG51bXNbaV07CiAgICAgICAgICAgICAgICBjbnQrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gY250KzE7IC8vIEFkZCAxIHRvIGFjY291bnQgZm9yIHRoZSBsYXN0IGdyb3VwCiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24gewogICAgICAgIGludFtdIG1vdmllcyA9IHsxLCA1LCA0LCA2LCA4LCA5LCAyfTsKICAgICAgICBpbnQgayA9IDM7CiAgICAgICAgaW50IGdyb3VwcyA9IG1pbmdycHMobW92aWVzLCBrKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk91dHB1dDogIiArIGdyb3Vwcyk7CiAgICB9Cn0K