計算數字 k 在 0 到 n 中的出現的次數,k 可能是 0~9 的一個值.
算法思路:
1.如果n的值比k的值小。那麼直接return 0
2.從k+1開始。
3.取出每一個數字與k進行比較
#include <iostream>
using namespace std;
class Solution {
public:
/**
* @param k: An integer
* @param n: An integer
* @return: An integer denote the count of digit k in 1..n
*/
int digitCounts(int k, int n) {
// write your code here
//如果n的值比k的值小。那麼直接return 0
if (n < k)
{
return 0;
}
//從k+1開始。自身有一個數
int count = 1;
int temp = 0;
//循環遍歷每一個[K+1,n]
for (int i = k + 1; i <= n; i++)
{
//保存i的值
temp = i;
//取出每一個數字與k進行比較
while (temp)
{
if (temp % 10 == k)
{
count++;
}
temp = temp / 10;
}
}
return count;
}
};