Untitled
user_0781376
plain_text
11 days ago
1.3 kB
16
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