Google Interview Question
SDE1sCountry: United States
static ArrayList<ArrayList<Integer>> makeClusters(int[] arr) {
ArrayList<ArrayList<Integer>> answer = new ArrayList<>();
if (arr == null || arr.length == 0) return answer;
int length = arr.length;
int ptr = 1, start = arr[0];
ArrayList<Integer> temp = new ArrayList<>();
temp.add(start);
while (ptr < length) {
int speed = arr[ptr];
if (speed >= start) {
temp.add(speed);
} else {
answer.add(temp);
temp = new ArrayList<Integer>();
temp.add(speed);
start = speed;
}
ptr++;
}
answer.add(temp);
return answer;
}
1. set current first on as the start car of the cluster.
- lxfuhuo January 05, 20182.find following car whose speed is smaller than start car, so all cars before this one are belong to previous cluster.
3.Repeat step #1 and #2 till the end.
I don't quite understand what follow-up is talking.