You are viewing a single comment's thread. Return to all comments →
import java.util.*; public class test {
public static void main(String[] args) { Scanner in = new Scanner(System.in); Deque<Integer> deque = new ArrayDeque<>(); Deque<Integer> subArray = new ArrayDeque<>(); int n = in.nextInt(); int m = in.nextInt(); Map<Integer, Integer> map = new HashMap<Integer, Integer>(); Map<Integer, Integer> frequencyMap = new HashMap<Integer, Integer>(); Integer maxValue = 0; for (int i = 0; i < n; i++) { int num = in.nextInt(); subArray.addFirst(num); if(!frequencyMap.containsKey(num)){ frequencyMap.put(num, 1); }else{ frequencyMap.put(num, frequencyMap.get(num)+1); } if(i >= m-1){ if(maxValue < frequencyMap.size()){ deque.addFirst(frequencyMap.size()); maxValue = frequencyMap.size(); }else{ deque.addLast(frequencyMap.size()); } Integer removed = subArray.pollLast(); if(frequencyMap.containsKey(removed)){ if(frequencyMap.get(removed) == 1){ frequencyMap.remove(removed); }else{ frequencyMap.put(removed, frequencyMap.get(removed)-1); } } } } System.out.println(deque.peekFirst()); } }
Seems like cookies are disabled on this browser, please enable them to open this website
Java Dequeue
You are viewing a single comment's thread. Return to all comments →
import java.util.*; public class test {