🏅前言:
‘’代码含详细注释及解题思路。若有不理解的地方,欢迎大家探讨交流,有问必回📖
L1-003 个位数统计
输入格式
:
每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。
输出格式
:
对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D
的升序输出。
输入样例
:
100311
输出样例
:
0:2
1:3
3:1
🎯解题思路:
🦀首先输入的利用字符串存储:
【原因是输入样例是1000位
正整数,只能使用String或BigInteger存储】
🦀其次定义一个长度为10的数组,下标0-9,默认初始值为0.
🦀最后每次取出字符串的一个字符的数字值与下标0-9比较,如果相等,就对应下标自增1
🪄题解:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String NN = sc.next();
StringBuffer N = new StringBuffer(NN);
int a[] = new int[10];
for (int j = 0; j < N.length(); j++)
for (int i = 0; i < 10; i++) {
if (N.charAt(j) - '0' == i) {
a[i]++;
}
}
for (int i = 0; i < 10; i++) {
if (a[i] != 0) {
System.out.println(i + ":" + a[i]);
}
}
}
}