From 7fd9150d5de5ac68a86cac275a0c87621c347dae Mon Sep 17 00:00:00 2001 From: anirudherabelly Date: Mon, 15 Oct 2018 19:07:28 -0500 Subject: [PATCH] added greedy problems --- .../ActivitySelection/ActivitySelection.java | 82 +++++++++++++++++++ Greedy/MinimumCoins/MinimumNumOfCoins.java | 61 ++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 Greedy/ActivitySelection/ActivitySelection.java create mode 100644 Greedy/MinimumCoins/MinimumNumOfCoins.java diff --git a/Greedy/ActivitySelection/ActivitySelection.java b/Greedy/ActivitySelection/ActivitySelection.java new file mode 100644 index 00000000..5bc1a1bb --- /dev/null +++ b/Greedy/ActivitySelection/ActivitySelection.java @@ -0,0 +1,82 @@ +/* +Given N activities with their start and finish times. +Select the maximum number of activities that can be performed by a single person, +assuming that a person can only work on a single activity at a time. + +Note : The start time and end time of two activities may coincide. + +Input: +The first line contains T denoting the number of testcases. +Then follows description of testcases. First line is N number of activities +then second line contains N numbers which are starting time of activies. +Third line contains N finishing time of activities. + +Output: +For each test case, output a single number denoting maximum activites which can be performed in new line. + + +Constraints: +1<=T<=50 +1<=N<=1000 +1<=A[i]<=100 + + +Example: +Input: +1 +6 +1 3 0 5 8 5 +2 4 6 7 9 9 + +Output: +4 +*/ +import java.util.*; +import java.lang.*; +import java.io.*; +class Activity implements Comparable{ + int startTime; + int endTime; + Activity(int start,int end){ + this.startTime=start; + this.endTime=end; + } + public int compareTo(Activity a){ + return this.endTime-a.endTime; + } +} +class GFG +{ + public static void main (String[] args) + { + //code + Scanner sc=new Scanner(System.in); + int t=sc.nextInt(); + for(int i=0;i al=new ArrayList(); + int n=sc.nextInt(),temp; + int[] startAr=new int[n]; + for(int j=0;j al,int n){ + Activity prev=al.get(0),curr; + int count=1; + for(int i=1;i=0;i--){ + if(array[i]<=n){ + int numOfCoins=n/array[i]; + for(int j=0;j