刷微博看到自己关注的人发了孩子的作业,博主还算错了,发出来图一乐,晚上从宜家回来打算用Java来编写代码解决。
代码如下:
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
for (int i = 1; i <= 88 ; i++) {
list.add(i);
}
Set<Integer> set = new LinkedHashSet<>();
Optional<Integer> sum = list.stream().map(e -> {
char[] chars = String.valueOf(e).toCharArray();
int j = 0;
for (char i : chars) {
if ('8' == i) {
set.add(e);
j++;
}
}
return j;
}).reduce(Integer::sum);
System.out.println("=====符合条件的总个数:=========" + sum.get());
set.stream().forEach(e -> System.out.print(e + " "));
}
输出结果:
MarkDown编辑器没了么?太难受了用着这个新版的。这个问题可以继续深化下,怎么用多线程来提高效率,假如是10W个数呢,算法是一个方面,开启多线程也是一个方面。