Maximize the Confusion of an Exam LeetCode solution in Java
1class Solution {23// Binary Search + Sliding Window fixed45public int maxConsecutiveAnswers(String answerKey, int k) {67int start = 1;8int end = answerKey.length();9int max_length = 0;1011while (start <= end) {12int mid = start + (end - start) / 2;13if (isMax(answerKey, k, mid)) {14max_length = mid;15start = mid + 1;16} else {17end = mid - 1;18}19}2021return max_length;22}2324public boolean isMax(String answerKey, int k, int max_val) {2526int T_count = 0;27int F_count = 0;2829int i = 0;30int j = 0;3132while (j < answerKey.length()) {3334if (answerKey.charAt(j) == 'T') {35T_count++;36} else {37F_count++;38}3940if (j - i + 1 == max_val) {4142if (Math.max(T_count, F_count) + k >= max_val) {43return true;44}4546if (answerKey.charAt(i) == 'T') {47T_count--;48} else {49F_count--;50}5152i++;53}5455j++;56}5758return false;59}60}