Java BitSet Hackerrank Solution

 Java BitSet Hackerrank Solution


For Explanation Watch video::



Sample Input

5 4
AND 1 2
SET 1 4
FLIP 2 2
OR 2 1

Sample Output

0 0
1 0
1 1
1 2
Code:
import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        int m = s.nextInt();
        BitSet b1 = new BitSet(n);
        BitSet b2 = new BitSet(n);
        for(int i=0;i<m;i++){
            String ip = s.next();
            switch(ip.charAt(0)){
                case 'A':
                if(s.nextInt()==1){
                    b1.and(b2);
                }else{
                    b2.and(b1);
                }
                break;
                case 'O':
                if(s.nextInt()==1){
                    b1.or(b2);
                }else{
                    b2.or(b1);
                }
                break;
                case 'X':
                if(s.nextInt()==1){
                    b1.xor(b2);
                }else{
                    b2.xor(b1);
                }
                break;
                case 'F':
                if(s.nextInt()==1){
                    b1.flip(s.nextInt());
                }else{
                    b2.flip(s.nextInt());
                }
                break;
                case 'S':
                if(s.nextInt()==1){
                    b1.set(s.nextInt());
                }else{
                    b2.set(s.nextInt());
                }
                break;
            }
            System.out.println(b1.cardinality()+" "+b2.cardinality());
            if(s.hasNextLine())
               s.nextLine();
        }
    }
}

Comments

Popular posts from this blog

Print Prime Numbers Hackerrank Solution - PL/SQL

how to store html form data in mysql database using hibernate