Find Latest Group of Size M LeetCode solution in JavaScript
1var findLatestStep = function (arr, m) {2if (m === arr.length) return arr.length;3let bits = new Array(arr.length + 1).fill(true),4pos,5flag,6i,7j;8for (i = arr.length - 1, bits[0] = false; i >= 0; i--) {9(pos = arr[i]), (bits[pos] = false);10for (j = 1, flag = true; flag && j <= m; j++) flag = bits[pos - j];11if (flag && !bits[pos - m - 1]) return i;12for (j = 1, flag = true; flag && j <= m; j++) flag = bits[pos + j];13if (flag && !bits[pos + m + 1]) return i;14}15return -1;16};