代码实现
public static void main(String[] args) {
int[] a = new int[60];
a[0] = 1;
for (int i = 1; i < a.length; i++) {
String s = String.valueOf(a[i - 1]);
char[] chars = s.toCharArray();
Map<Integer, Integer> map = new HashMap<>();
for (int j = 0; j < chars.length; j++) {
int t = Integer.parseInt(Character.toString(chars[j]));
if (map.containsKey(t)) {
map.put(t, map.get(t) + 1);
} else {
map.put(t, 1);
}
}
Iterator<Map.Entry<Integer, Integer>> iterator = map.entrySet().iterator();
StringBuffer description = new StringBuffer();
while (iterator.hasNext()) {
Map.Entry<Integer, Integer> next = iterator.next();
Integer number = next.getKey();
Integer times = next.getValue();
description.append("" + times + number);
}
System.out.println(description);
a[i] = Integer.parseInt(description.toString());
}
}
输出
11
21
1112
3112
211213
212223
114213
…