Maximize the Confusion of an Exam LeetCode solution in Java

1
class Solution {
2

3
// Binary Search + Sliding Window fixed
4

5
public int maxConsecutiveAnswers(String answerKey, int k) {
6

7
int start = 1;
8
int end = answerKey.length();
9
int max_length = 0;
10

11
while (start <= end) {
12
int mid = start + (end - start) / 2;
13
if (isMax(answerKey, k, mid)) {
14
max_length = mid;
15
start = mid + 1;
16
} else {
17
end = mid - 1;
18
}
19
}
20

21
return max_length;
22
}
23

24
public boolean isMax(String answerKey, int k, int max_val) {
25

26
int T_count = 0;
27
int F_count = 0;
28

29
int i = 0;
30
int j = 0;
31

32
while (j < answerKey.length()) {
33

34
if (answerKey.charAt(j) == 'T') {
35
T_count++;
36
} else {
37
F_count++;
38
}
39

40
if (j - i + 1 == max_val) {
41

42
if (Math.max(T_count, F_count) + k >= max_val) {
43
return true;
44
}
45

46
if (answerKey.charAt(i) == 'T') {
47
T_count--;
48
} else {
49
F_count--;
50
}
51

52
i++;
53
}
54

55
j++;
56
}
57

58
return false;
59
}
60
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0