bijiahao


私信TA

用户名:2865gfv79349

访问量:34229

签 名:

等  级
排  名 171
经  验 6972
参赛次数 1
文章发表 52
年  龄 19
在职情况 学生
学  校 河南农业大学
专  业 信息与管理科学学院

  自我简介:


 import java.util.Scanner;

 import java.util.Arrays;

 public class Main {

    public static void main(String args[]) {

        Scanner sc = new Scanner(System.in);

      

        while(true)

        {

             int n = sc.nextInt();

             if(n==0)//---------------------如果输入0;结束

         break;

             int temp[]=new int [n];//-------------全设为0,需要删除就变成1;

             int arr[]=new int[n];//-------------原数列

             for(int i=0;i<temp.length;i++)//-------------遍历

             {

                  temp[i]=0;

           arr[i]=sc.nextInt();

            }

             Arrays.sort(arr);//-------------排序

            for(int i=0;i<arr.length;i++)//-------------功能:循环判断第i位和第x位是否符合相关数

         for(int x=i;x<arr.length;x++)

         {

         if(i==x)     //-------------

                    continue;

         if(judge( arr[i],arr[x]))//功能:如果符合,将temp[i]temp[x]=1变成1;模拟删除

         {

         temp[i]=1;

                 temp[x]=1;

         }

         }

        int sum=0;//-------------记录temp有几个留下的数

        for(int i=0;i<arr.length;i++)//-------------输出未删除的数

        {

         if(temp[i]==0)//-------------是0就是留下的

         {

         sum++;

         System.out.print(arr[i]+" ");//把留下的输出

            }

        }

        if(sum==0)//-------------如果留下的数的数量为0,则输出None

         System.out.print("None");

                System.out.println();

     }//--------------------------------while结束

    }

  

    public static boolean judge(int a,int b)//-------------功能:判断是否符合相关数

    {

      char arra[]=String.valueOf(a).toCharArray();//-----把输入的整数转换成字符

      char arrb[]=String.valueOf(b).toCharArray();

       if(arra.length!=arrb.length)//----------------------判断字符长度,不相等直接false

           return false;

       else{//-------------------------------------------长度相等的话

        int sum=0;

       for(int i=0;i<arra.length;i++)

       for(int x=0;x<arrb.length;x++)//------------------列如:4 3 5  - 3 5 4

       if(arra[i]==arrb[x])//----------相等的话变成a: a 3 5  - 3 5 a 继续循环

                          {

       sum++;//----------记录变了几次

                             arra[i]='a';

                            arrb[x]='a';

                              break;

                        }

         

       if(sum==arrb.length)   //-----------------如果全变输出true

       return true;

          return false;

       }

    }  

}


 

0.0分

0 人评分

  评论区

  • «
  • »