import java.util.ArrayList;
import java.util.List;
// IMPORT LIBRARY PACKAGES NEEDED BY YOUR PROGRAM// SOME CLASSES WITHIN A PACKAGE MAY BE RESTRICTED// DEFINE ANY CLASS AND METHOD NEEDED// CLASS BEGINS, THIS CLASS IS REQUIREDpublicclass ShortestJob
{
// METHOD SIGNATURE BEGINS, THIS METHOD IS REQUIREDpublicstaticfloatwaitingTimeSJF(int[] requestTimes, int[] durations)
{
// INSERT YOUR CODE HEREfloat time=0;
float waitTime=0;
int min;
int count=0;
float[] flags=newfloat[requestTimes.length];
for (int i = 0; i < flags.length; i++) {
flags[i]=-1;
}
List<Integer> index=new ArrayList<Integer>();
while (count<requestTimes.length) {
for (int i = 0; i < requestTimes.length; i++) {
if (requestTimes[i]<=time) {
if (flags[i]==-1) {
index.add(i);
}
}else {
break;
}
}
min=index.get(0);
count++;
for (int i = 0; i < index.size(); i++) {
if (durations[min]>durations[index.get(i)]) {
min=index.get(i);
}
}
flags[min]=time;
time+=durations[min];
index.clear();
}
for (int i = 0; i < flags.length; i++) {
waitTime+=flags[i]-requestTimes[i];
}
waitTime=waitTime/requestTimes.length;
return waitTime;
}
// METHOD SIGNATURE ENDS
}
import java.util.ArrayList;import java.util.List;// IMPORT LIBRARY PACKAGES NEEDED BY YOUR PROGRAM// SOME CLASSES WITHIN A PACKAGE MAY BE RESTRICTED// DEFINE ANY CLASS AND METHOD NEEDED// CLASS BEG