本来想的是两个数列相加再减 后来发现是错的思路 ✗
然后就想排列后比较在加,发现数值太小 ✗
最后一个正排列,一个反方向排列再比大小相加就成功了
参考代码:
import java.util.Arrays; import java.util.Scanner; public class _1286 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int [] x=new int[n]; int [] y=new int[n]; for(int i=0;i<n;i++){ x[i]=sc.nextInt(); } for(int j=0;j<n;j++){ y[j]=sc.nextInt(); } Arrays.sort(x); Arrays.sort(y); int sum=0; for(int i=0;i<n;i++){ sum+=x[i]-y[n-i-1]>0?x[i]-y[n-i-1]:y[n-1-i]-x[i]; } System.out.println(sum); sc.close(); } }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:480 |
淘淘的名单 (C语言代码)浏览:1090 |
母牛的故事 (C语言代码)浏览:940 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1909 |
震宇大神的杀毒软件 (C语言代码)浏览:1079 |
众数问题 (C语言代码)浏览:667 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:455 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:579 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:762 |
快速排序算法1浏览:877 |