(C++)統計數字

計算數字 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;

	}
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章