《Cracking the Coding Interview程式設計師面試金典》----從0到n中某個數字的個數
時間限制:3秒 空間限制:32768K 熱度指數:687
演算法知識視訊講解題目描述
請編寫一個方法,輸出0到n(包括n)中數字2出現了幾次。
給定一個正整數n,請返回0到n的數字中2出現了幾次。
測試樣例:
10
返回:1
思路:本道題改成針對任何數,從0到n中某個數字的個數,某個數字隨便出
#include<iostream>
using namespace std;
int countNumberOf2s(int n,int temp) {
if (n <= 1) return 0;
int cnt = 0, k;
for (int i = 1; k = n / i; i *= 10) {
// k / 10 為高位的數字。
cnt += (k / 10) * i;
// 當前位的數字。
int cur = k % 10;
if (cur > temp) {
cnt += i;
}
else if (cur == temp) {
// n - k * i 為低位的數字。
cnt += n - k * i + 1;
}
}
return cnt;
}
int main()
{
int m;
int n;
while (cin >> n>>m)
{
cout<<countNumberOf2s(n,m)<<endl;
}
return 0;
}
不懂的可以加我的QQ群:261035036(IT程式設計師面試寶典
群) 歡迎你的到來哦,看了博文給點腳印唄,謝謝啦~~
相關文章
- 【程式設計師面試金典】20180801程式設計師面試
- 【程式設計師面試金典】洪水程式設計師面試
- 程式設計師面試金典Chapter1程式設計師面試APT
- 【程式設計師面試金典】三個空汽水瓶可以換一瓶汽水。程式設計師面試
- 【程式設計師面試金典】 寫出一個程式,接受一個十六進位制的數值字串,輸出該數值的十進位制字串。(多組同時輸入 )程式設計師面試字串
- Java程式設計師面試時應注意的三個經典問題!Java程式設計師面試
- 我從程式設計面試中學到的程式設計面試
- 給定一個n,輸出從1到n的整數
- [演算法練習及思路-程式設計師面試金典(Java解法)]No77連續數列演算法程式設計師面試Java
- 智力題(程式設計師面試經典)程式設計師面試
- 2024年程式設計師金九銀十面試寶典(持續更新中................)程式設計師面試
- 對N個數進行從大到小排序排序
- Nth Digit 第N個數字Git
- 洗牌演算法擴充(從n個數中隨機m個數)演算法隨機
- 【Algorithm】《劍指offer》面試題32----從1到n整數中1出現的次數Go面試題
- 程式設計師面試備戰篇:18個經典MySQL面試專題解析(乾貨分享答案)程式設計師面試MySql
- Java初中級程式設計師面試題寶典Java程式設計師面試題
- 從經典遊戲中學到的7個伏筆設計技巧遊戲
- 數學,離一個程式設計師有多近?程式設計師
- 【程式設計師面試金典】有數量不限的硬幣,幣值為25分、10分、5分和1分,請編寫程式碼計算n分有幾種表示法。程式設計師面試
- 雲端計算面試中如何突顯自己?程式設計師面試的7個小貼士面試程式設計師
- 【JAVA面試資料】程式設計師面試之葵花寶典2Java面試程式設計師
- 【JAVA面試資料】程式設計師面試之葵花寶典1Java面試程式設計師
- 新書出版 |《Oracle程式設計師面試筆試寶典》新書Oracle程式設計師面試筆試
- C#判斷一個字串是否是數字或者含有某個數字C#字串
- 兩個程式設計師老友的會面程式設計師
- Java 13天基礎 06天map集合小練習(黑馬程式設計師) 統計字串中每個字元出現的次數 (經典面試題)Java程式設計師字串字元面試題
- 每日一練(25): 0~n-1中缺失的數字
- 好程式設計師Java分享Javamain十個面試題程式設計師JavaAI面試題
- 從一個問題中瞭解數學在程式設計中的應用程式設計
- HOME: Count Digits —— 計算字串中數字個數Git字串
- [演算法練習及思路-程式設計師面試金典(Java解法)]No85計算器演算法程式設計師面試Java
- 做個清醒的程式設計師之成為少數派程式設計師
- 統計整數區間[N,M](N,M<100000)中所以非偶數的合數個數,並輸出這個數。
- 面試了一個 31 歲程式設計師,讓我有所觸動,30歲以上的程式設計師該何去何從?面試程式設計師
- 如何從0到1設計一個類Dubbo的RPC框架RPC框架
- 寫一個方法,傳入數字x,從一個一維陣列裡找到兩個數字符合“n1 + n2 = x”陣列
- n個骰子的點數
- 找0的個數