Count the number of k's between 0 and n. k can be 0 - 9.
Have you met this question in a real interview?
Yes
Example
if n=12, k=1 in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], we have FIVE 1's (1, 10, 11, 12)
class Solution { /* * param k : As description. * param n : As description. * return: An integer denote the count of digit k in 1..n */ public int digitCounts(int k, int n) { // write your code here int[] record = new int[10]; Arrays.fill(record,0); for(int i = 0 ; i <= n ; i++){ String temp = Integer.toString(i); for(int j = 0 ; j < temp.length() ; j++){ int digits = (int) (temp.charAt(j) - '0'); record[digits]++; } } return record[k]; } };