/**
The running time of Subset must be linear in the size of the input. You may use only a constant amount of memory
plus either one Deque or RandomizedQueue object of maximum size at most N, where N is the number of strings on standard input.
(For an extra challenge, use only one Deque or RandomizedQueue object of maximum size at most k.) 
*/
public class Subset {

    /**
    * Perform T independent computational experiments on an N-by-N grid
    **/
    public Subset() {
        //StdRandom.uniform(1, N+1);
    }

    public static void main(String[] args) {
        //StdOut.printf("95%% confidence interval = %.16f, %.16f\n", stats.confidenceLo(), stats.confidenceHi());
    }
}

/**
Subset client. Write a client program Subset.java that takes a command-line integer k; reads in a sequence of N strings from standard input using StdIn.readString(); and prints out exactly k of them, uniformly at random. Each item from the sequence can be printed out at most once. You may assume that k ≥ 0 and no greater than the number of string N on standard input. 
The running time of Subset must be linear in the size of the input. You may use only a constant amount of memory
plus either one Deque or RandomizedQueue object of maximum size at most N, where N is the number of strings on standard input.
(For an extra challenge, use only one Deque or RandomizedQueue object of maximum size at most k.) 
*/
public class Subset {

    /**
    * Perform T independent computational experiments on an N-by-N grid
    **/
    public Subset() {
        //StdRandom.uniform(1, N+1);
    }

    public static void main(String[] args) {
        //StdOut.printf("95%% confidence interval = %.16f, %.16f\n", stats.confidenceLo(), stats.confidenceHi());
    }
}

add more specifications about subset