LiftStoppages - gopichandnishad/Codility GitHub Wiki
import java.util.HashSet; import java.util.Set;
public class Main {
public static void main(String[] args) {
int[] A = {40, 40, 100, 80, 20, 60, 50, 100};
int[] B = {3, 3, 2, 2, 3, 1, 2, 3};
int M = 3, X = 5, Y = 200;
System.out.println("Totol number of lift stoppage are: " + solution(A, B, M, X, Y));
}
static int solution(int[] A, int[] B, int M, int X, int Y){
int peopleLoaded=0, peopleWeight=0, stop=0;
Set<Object> set;
set = new HashSet<>();
for(int i=0; i < A.length; i++)
{
if((peopleLoaded++ <= X) && ((peopleWeight + A[i]) <= Y)){
set.add(B[i]);
//System.out.println("Before " + peopleWeight);
peopleWeight += A[i];
//System.out.println("After " + peopleWeight);
peopleLoaded++;
if((i+1) == A.length){
stop += set.size() + 1;
return stop;
}
continue;
}
i--;
stop += set.size() + 1;
set = new HashSet<>();
peopleWeight=0;
peopleLoaded=0;
}
return stop;
}
}