Q42 Completing tasks | Practice | GeeksforGeeks
Sat Jan 28 2023 09:09:02 GMT+0000 (Coordinated Universal Time)
Saved by
@Ayush_dabas07
//{ Driver Code Starts
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int tc = Integer.parseInt(br.readLine().trim());
while (tc-- > 0) {
String[] inputLine;
inputLine = br.readLine().trim().split(" ");
int n = Integer.parseInt(inputLine[0]);
int m = Integer.parseInt(inputLine[1]);
int[] arr = new int[m];
inputLine = br.readLine().trim().split(" ");
for (int i = 0; i < m; i++) {
arr[i] = Integer.parseInt(inputLine[i]);
}
Tasks ans = new Solution().findTasks(arr, m, n);
for (Integer x : ans.tanya) {
System.out.print(x + " ");
}
System.out.println();
for (Integer x : ans.manya) {
System.out.print(x + " ");
}
System.out.println();
}
}
}
class Tasks {
ArrayList<Integer> tanya, manya;
Tasks() {
tanya = new ArrayList<>();
manya = new ArrayList<>();
}
}
// } Driver Code Ends
// check Tasks class in driver
class Solution {
Tasks findTasks(int[] arr, int m, int n) {
if(arr.length == 0) return new Tasks();
//make a hashmap and store tasks which are already done
HashSet<Integer>set = new HashSet<>();
for(int val : arr)
set.add(val);
//make an object of class Tasks and add answers in its arraylist
Tasks t = new Tasks();
int count =0; //for determining if the index is odd or even
for(int i = 1 ;i <= n ;i++){
boolean flag = false;
if(set.contains(i))
flag = true;
if(flag == false){
if(count%2==0)
t.tanya.add(i);
else
t.manya.add(i);
count++;
}
}
return t;
}
}
content_copyCOPY
https://practice.geeksforgeeks.org/problems/completing-tasks0454/1
Comments