-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathisMinMaxDisjoint.java
35 lines (35 loc) · 957 Bytes
/
isMinMaxDisjoint.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class isMinMaxDisjoint {
public int isMinMaxDisjoint(int[] a) {
if (a.length < 3) {
return 0;
}
int minTimes = 1;
int maxTimes = 1;
int minIndex = 0;
int maxIndex = 0;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int i = 0; i < a.length; i++) {
if (a[i] == max) {
maxTimes++;
} else if (a[i] == min) {
minTimes++;
}
if (a[i] > max) {
max = a[i];
maxIndex = i;
maxTimes = 1;
}
if (a[i] < min) {
min = a[i];
minIndex = i;
minTimes = 1;
}
}
if (minTimes == 1 && maxTimes == 1 && ((minIndex - maxIndex) < -1 || (minIndex - maxIndex) > 1)) {
return 1;
} else {
return 0;
}
}
}