時間限制:1秒 空間限制:32768k 熱度指數:226203
本題知識點: 查詢數學
求出1~13的整數中1出現的次數,並算出100~1300的整數中1出現的次數?為此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對於後面問題他就沒轍了。acmer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數(從1 到 n 中1出現的次數)。
處理方法:設當前處理的為第now位(從右向左起,最右邊的一位是第一位),左側數字為left,右側數字為right,now上的數字為cur
則當前為可以取到1的次數有
若cur==0,則sum=left*10^(now-1)
若cur==1,則sum=left*10^(now-1)+right+1;
若cur>1,則sum=(left+1)*10^(now-1);
**如下:
class solution else if(cur==1)else
right+=cur*i;
cur=left%10;
left/=10;
} return sum;
}};
劍指offer 整數中1出現的次數
求出1 13的整數中1出現的次數,並算出100 1300的整數中1出現的次數?為此他特別數了一下1 13中包含1的數字有1 10 11 12 13因此共出現6次,但是對於後面問題他就沒轍了。acmer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數。這是劍指offer...
整數中1出現的次數(劍指offer)
求出1 13的整數中1出現的次數,並算出100 1300的整數中1出現的次數?為此他特別數了一下1 13中包含1的數字有1 10 11 12 13因此共出現6次,但是對於後面問題他就沒轍了。acmer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數 從1 到 n 中1...
劍指offer 整數中1出現的次數
時間限制 1秒 空間限制 32768k 熱度指數 244020 本題知識點 查詢 數學求出1 13的整數中1出現的次數,並算出100 1300的整數中1出現的次數?為此他特別數了一下1 13中包含1的數字有1 10 11 12 13因此共出現6次,但是對於後面問題他就沒轍了。acmer希望你們幫幫他...