统计个数:哈希
思想: 将数字转为字符串
123 -> “123”,统计每个字符的出现次数
public class Main43 {
public static void main(String[] args) {
int res = countDigitOne(1234);
System.out.println(res);
}
public int countDigitOne(int n) {
if (n <= 0) {
return 0;
}
Map<Character, Integer> map = new HashMap<>();
// n=123时,当val=11时
for (int val = 0; val <= n; val++) {
String s = String.valueOf(val);//11
for (int i = 0; i < s.length(); i++) {// 1 1
map.merge(s.charAt(i), 1, Integer::sum);
}
}
return map.get('1');
}
}