3 条题解
-
1
public class Main{ public static void main(String args[]){ Scanner in=new Scanner(System.in); int n=in.nextInt(); Integer[] a=new Integer[n]; for(int i=0;i<n;i++) { a[i]=in.nextInt(); } Arrays.sort(a,(x,y)->{return (y%1000)-(x%1000);}); for(int i=0;i<n;i++) { System.out.print(a[i]+" "); } } }
-
0
这个办法是构建一个Num类,来进行排序
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { // HashMap<Integer, String> map = new HashMap<>(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Num[] a = new Num[n]; for (int i = 0; i < n; i++) { a[i] = new Num(); String num = sc.next(); //如果该对象的num长度大于3, 就令aa值等于num的后三位 if(num.length() > 3){ a[i].val = num; a[i].aa = Integer.parseInt(num.substring(num.length() - 3)); }else {//否则aa值等于num值 a[i].val = num; a[i].aa = Integer.parseInt(num); } } //自定义排序效果与冒泡排序相同 Arrays.sort(a, (o1, o2) -> (o1.aa - o2.aa)); //冒泡排序, 给aa值大的对象排后面 // for (int i = 0; i < a.length - 1; i++) { // for (int j = 0; j < a.length - i - 1; j++) { // if(a[j].aa < a[j + 1].aa){ // Num temp = a[j]; // a[j] = a[j + 1]; // a[j + 1] = temp; // } // } // } for (int i = 0; i < a.length; i++) { System.out.print(a[i].val + " "); } } } class Num{ String val; //该数字的值 int aa; //后三位的值 }
- 1
信息
- ID
- 570
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 126
- 已通过
- 22
- 上传者