You are viewing a single comment's thread. Return to all comments →
only test case 11 not passed. i think problem in containsValue() method. please help..
import java.io.; import java.math.; import java.security.; import java.text.; import java.util.; import java.util.concurrent.; import java.util.function.; import java.util.regex.; import java.util.stream.*; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toList;
public class abc {
// Complete the freqQuery function below. static List<Integer> freqQuery(List<int[]> queries) { List<Integer> arr = new ArrayList<>(); Map<Integer, Integer> hm = new HashMap<Integer,Integer>(); int a; int b; for(int i=0;i<queries.size();i++) { a=queries.get(i)[0]; b=queries.get(i)[1]; if(a==1) { hm.put(b, hm.getOrDefault(b, 0)+1); } else if(a==2) { if(hm.getOrDefault(b, 0)>0) { hm.put(b,hm.getOrDefault(b, 0)-1); } } else { if(hm.containsValue(b)) { //hm.values().remove(queries.get(i).get(1)); arr.add(1); } else { arr.add(0); } } } return arr; }
public static void main(String[] args) throws IOException { try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in))) { int q = Integer.parseInt(bufferedReader.readLine().trim()); List queries = new ArrayList<>(q); Pattern p = Pattern.compile("^(\d+)\s+(\d+)\s*$"); for (int i = 0; i < q; i++) { int[] query = new int[2]; Matcher m = p.matcher(bufferedReader.readLine()); if (m.matches()) { query[0] = Integer.parseInt(m.group(1)); query[1] = Integer.parseInt(m.group(2)); queries.add(query); } } List ans = freqQuery(queries); try (BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")))) { bufferedWriter.write( ans.stream() .map(Object::toString) .collect(joining("\n")) + "\n"); } } } }
Seems like cookies are disabled on this browser, please enable them to open this website
Frequency Queries
You are viewing a single comment's thread. Return to all comments →
only test case 11 not passed. i think problem in containsValue() method. please help..
import java.io.; import java.math.; import java.security.; import java.text.; import java.util.; import java.util.concurrent.; import java.util.function.; import java.util.regex.; import java.util.stream.*; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toList;
public class abc {
public static void main(String[] args) throws IOException { try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in))) { int q = Integer.parseInt(bufferedReader.readLine().trim()); List queries = new ArrayList<>(q); Pattern p = Pattern.compile("^(\d+)\s+(\d+)\s*$"); for (int i = 0; i < q; i++) { int[] query = new int[2]; Matcher m = p.matcher(bufferedReader.readLine()); if (m.matches()) { query[0] = Integer.parseInt(m.group(1)); query[1] = Integer.parseInt(m.group(2)); queries.add(query); } } List ans = freqQuery(queries); try (BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")))) { bufferedWriter.write( ans.stream() .map(Object::toString) .collect(joining("\n")) + "\n"); } } } }