package com.company; import java.util.*; public class Main { public static void main(String[] args) { // write your code here Scanner sc=new Scanner(System.in); int N=Integer.parseInt(sc.nextLine()); int[] front=new int[N]; int[] diff=new int[N]; Set<Integer> back=new HashSet<Integer>(); //有序数组 for (int i=0;i<N;i++){ front[i]=sc.nextInt(); } //获取1~N的set集合,无序 for (int j=0;;j++){ back.add((int)(Math.random()*N)+1); if(back.size()==N){ break; } } //将set转为int数组 Object[] newb=back.toArray(); int[] newback=new int[newb.length]; for (int i=0;i<newb.length;i++){ newback[i]=(int)newb[i]; } //将正反差装到diff里面,另外将结果放到stiff去重 Set<Integer> stiff=new HashSet<Integer>(); for (int i=0;i<N;i++){ diff[i]=Math.abs(front[i]-newback[i]); stiff.add(diff[i]); } //将去重后的stiff集合转为数组 Object[] stiffarr=stiff.toArray(); int[] intstf=new int[stiffarr.length]; for (int i=0;i<stiffarr.length;i++){ intstf[i]=(int)stiffarr[i]; } //对去重的数组intstf进行排序 Arrays.sort(intstf); //新建计数用的数组,每个元素初始值为0 /*int[] count=new int[intstf.length]; for (int i=0;i<intstf.length;i++){ count[i]=0; }*/ int count=0; for (int i=intstf.length-1;i>=0;i--){ for (int j=0;j<N;j++){ if (intstf[i]==diff[j]){ count++; } if (j==N-1&&count>=2){ System.out.println(intstf[i]+" "+count); count=0; } } } } }
1083
猜你喜欢
转载自www.cnblogs.com/zhuzehua/p/9764845.html
今日推荐
周排行