finding activities UNSORTED
import java.util.*;
//****************************UNSORTED END LIST */
public class ActivitySelectionUnsorted {
public static void main(String[] args) {
int start[] = { 1, 3, 0, 5, 8, 5 };
int end[] = { 2, 4, 6, 7, 9, 9 };
int activities[][] = new int[start.length][3];
for (int i = 0; i < start.length; i++) {
activities[i][0] = i;
activities[i][1] = start[i];
activities[i][2] = end[i];
}
// ****LAMBDA FUNCTION */
Arrays.sort(activities, Comparator.comparingDouble(o -> o[2]));
// END TIME BASIS SORTED
int maxAct = 0;
ArrayList<Integer> ans = new ArrayList<>();
// 1st ACTIVITY
maxAct = 1;
ans.add(activities[0][0]);
int lastEnd = activities[0][2];
for (int i = 1; i < start.length; i++) {
if (activities[i][1] >= lastEnd) {
// ACTIVITY SELECT
maxAct++;
ans.add(activities[i][0]);
lastEnd = activities[i][2];
}
}
System.out.println(maxAct);
for (int i = 0; i < ans.size(); i++) {
System.out.print("A" + ans.get(i) + " ");
}
System.out.println();
}
}
Comments
Post a Comment