Untitled
user_0781376
plain_text
10 months ago
1.3 kB
21
Indexable
import java.util.Arrays;
import java.util.Comparator;
class Activity {
int start, end;
public Activity(int start, int end) {
this.start = start;
this.end = end;
}
}
public class Main {
public static void main(String[] args) {
// Given list of activities with (start, end) times
Activity[] activities = {
new Activity(1, 3),
new Activity(2, 5),
new Activity(3, 9),
new Activity(6, 8),
new Activity(5, 7)
};
selectActivities(activities);
}
public static void selectActivities(Activity[] activities) {
// Step 1: Sort activities by their finishing time (end)
Arrays.sort(activities, Comparator.comparingInt(a -> a.end));
System.out.println("Selected activities:");
// Step 2: Pick the first activity
int lastEndTime = -1;
for (Activity activity : activities) {
// Step 3: If the activity starts after or when the last one ended, select it
if (activity.start >= lastEndTime) {
System.out.println("Activity: (" + activity.start + ", " + activity.end + ")");
lastEndTime = activity.end; // Update the last end time
}
}
}
}
Editor is loading...
Leave a Comment