题目
下面是新浪微博上曾经很火的一张图:
分析
- 首先按照从大到小的顺序,并且无重复将电话号码中的数字输出
- 将以上的输出存放到集合list3中
- 确定电话中每一个数字在list3中的索引位置
代码
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
ArrayList<Integer>list1 = new ArrayList<>();
for(int i=0;i<s.length();i++){
list1.add(s.charAt(i)-'0');
}
TreeSet<Integer>list2 = new TreeSet<>(list1);
ArrayList<Integer>list3 = new ArrayList<>(list2);
Collections.reverse(list3);
System.out.print("int[] arr = new int[]{");
for(int i=0;i<list3.size()-1;i++){
System.out.print(list3.get(i)+",");
}
System.out.println(list3.get(list3.size()-1)+"};");
System.out.print("int[] index = new int[]{");
for(int i=0;i<s.length()-1;i++){
System.out.print(list3.indexOf(s.charAt(i)-'0')+",");
}
System.out.print(list3.indexOf(s.charAt(s.length()-1)-'0')+"};");
}
}
欢迎大家分享自己的代码