Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
692 views

For proper oa or interview experiences list of all top tech companies visit :

https://oa.desiqna.in

https://interview.desiqna.in

 

image

 

in Online Assessments by Expert (46,090 points) | 692 views

3 Answers

0 like 0 dislike
Best answer

Threshold Alerts

 

image

by Expert (46,090 points)
0 like 0 dislike

C++ solution (to pass all test cases)

 

 

int numberOfAlerts(int precedingMinutes, int alertThreshold, vector numCalls) {
int res = 0;
double total = 0.0;
double precedingMinutes_ = (double) precedingMinutes;


for(int i =0;i<precedingMinutes;i++){
     total = total + (double)numCalls[i];
 }
 
 if(total/precedingMinutes_ > alertThreshold){
     res++;
 }
 
 for(int i =precedingMinutes;i<numCalls.size();i++){
      total = total + (double)numCalls[i];
      total = total - (double)numCalls[i - precedingMinutes];
     
    if(total/precedingMinutes_ > alertThreshold){
     res++;
    }
 }
 
 return res;



}

 

by Expert (46,090 points)
0 like 0 dislike

Java solution:

public static void main(String[] args) {
	int[] numCalls = {2,2,2,2,5,5,5,8};
	int alertThreshold = 4, precedingMinutes = 3;
	System.out.println(getNumOfAlerts(numCalls, alertThreshold, precedingMinutes));
}

private static int getNumOfAlerts(int[] numCalls, int alertThreshold, int precedingMinutes) {
	int[] preSum = new int[numCalls.length + 1];
	int res = 0;
	for(int i=1;i<preSum.length;i++) {
		preSum[i] = numCalls[i-1] + preSum[i-1];
	}
	for(int i=precedingMinutes;i<=numCalls.length;i++) {
		if((preSum[i] - preSum[i-precedingMinutes])/precedingMinutes > alertThreshold)
			res++;
	}
	return res;
}
by Expert (46,090 points)