[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/karterhhgg/JavaProgramming/main/HackerRank/Nineteen.java [Back]  [Original]

package HackerRank;
import java.util.*;

public class Nineteen {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int n = in.nextInt(); // number of integers
        int m = in.nextInt(); // size of subarray

        Deque deque = new ArrayDeque();
        Map freqMap = new HashMap();

        int maxUnique = 0;

        for (int i = 0; i < n; i++) {
            int num = in.nextInt();

            deque.addLast(num);

            if (freqMap.containsKey(num)) {
                freqMap.put(num, freqMap.get(num) + 1);
            } else {
                freqMap.put(num, 1);
            }

            if (deque.size() == m) {
                maxUnique = Math.max(maxUnique, freqMap.size());

                int removed = deque.removeFirst();
                int count = freqMap.get(removed);
                if (count == 1) {
                    freqMap.remove(removed);
                } else {
                    freqMap.put(removed, count - 1);
                }
            }
        }

        System.out.println(maxUnique);
    }
}


Web Proxy Viewer  |  New URL  |  Original Page