Unable to find a problem in my code of CHEFRECP

import java.util.;
import java.io.
;
class Codechef
{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
for(int p=0;p<t;p++)
{
boolean b=true;

        int n=sc.nextInt();
        Integer[] arr=new Integer[n+1];
        HashMap<Integer,Integer> map=new HashMap<Integer,Integer>();
        List< Integer> list =new ArrayList<Integer>();
        for(int i=1;i<=n;i++)
        {
            arr[i]=sc.nextInt();
           
           if( list.contains(arr[i]))
           {
               if(arr[i-1]!=arr[i])
               {
                  b=false;
                  //break;
               }
               map.put(arr[i],map.get(arr[i])+1);
               //System.out.println("--"+map.get(arr[i]));
           }
           else
           {
              // System.out.println("+++"+arr[i]);
               map.put(arr[i],1);
           }
         list.add(arr[i]);
        }
        List<Integer> list2=new ArrayList<Integer>();
        for (int j : map.keySet()) {
           if(list2.contains(map.get(j)))
           {
             //  System.out.println("NO");
               b=false;
              // break;
           }
           list2.add(map.get(j));

           }
          if(b==true)
          {
          System.out.println("YES");
          }
          else{
         System.out.println("NO");

          }
        
    }
}

}