日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > 劍指offer 面試題32―從1到n整數(shù)中1出現(xiàn)的次數(shù)

劍指offer 面試題32―從1到n整數(shù)中1出現(xiàn)的次數(shù)

來源:程序員人生   發(fā)布時(shí)間:2015-05-04 09:51:17 閱讀次數(shù):3291次

題目:

輸入1個(gè)整數(shù)n,求從1到n這n個(gè)整數(shù)的10進(jìn)制表示中1出現(xiàn)的次數(shù)。

例如輸入12,從1到12這些整數(shù)中包括1的數(shù)字有1,10,11,12。所以11共出現(xiàn)了5次。


解法1:O(nlogn)

基本思想:

累加1到n每一個(gè)整數(shù)中1出現(xiàn)的次數(shù)。n個(gè)數(shù),每一個(gè)數(shù)有O(logn)位。

#include <iostream> using namespace std; int numberof1(int n) { int ret=0; while(n) { if(n%10==1) ret++; n/=10; } return ret; } int foo(int n) { int count=0; for(int i=1;i<=n;i++) count+=numberof1(i); return count; } int main() { int n; while(cin>>n) { cout<<foo(n)<<endl; } return 0; }


解法2:O(logn)

輸入n有O(logn)位。

基本思想:數(shù)字規(guī)律

#include <iostream> using namespace std; int foo(int n) { int icount=0; int iflag=1; int ilow=0; int icurr=0; int ihigh=0; while(n/iflag!=0) { ilow=n-(n/iflag)*iflag; icurr=(n/iflag)%10; ihigh=n/(iflag*10); switch(icurr) { case 0: icount+=ihigh*iflag; break; case 1: icount+=ihigh*iflag+ilow+1; break; default: icount+=(ihigh+1)*iflag; break; } iflag*=10; } return icount; } int main() { int n; while(cin>>n) { cout<<foo(n)<<endl; } return 0; }

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产精品视频99 | 九九福利视频 | 中文字幕国产一区二区 | 少妇精品亚洲一区二区成人 | 亚洲国产视频一区 | 色综合精品 | aⅴ一级片 | 欧美国产精品久久久 | 亚洲一区二区高潮无套美女 | 99免费视频 | av大片 | 一区二区三区av在线 | 中文字幕专区 | wwwjizz欧美| 日韩精品福利视频 | 日本特黄a级高清免费大片 国产小视频在线 | 日韩av成人在线观看 | 国产成人精品一区二区三区视频 | 欧洲国产一区 | 日本黄色精品 | 欧美激情视频一区二区三区不卡 | 中文字幕视频一区 | 91一区二区三区 | 狠狠干夜夜 | 欧美日韩在线免费 | 在线观看的av | 国产精品久久久久久久久久久免费看 | 亚洲88 | 污视频网站在线观看 | 午夜av免费在线观看 | 99re国产精品| 欧美日韩精品免费 | 日韩免费网站 | 蜜桃一区二区三区 | 中文字幕一区二区三区日韩精品 | 亚洲一区二区国产 | 亚洲欧美色图片 | av在线资源站 | 国产精品视频999 | 国产精品成人国产乱一区 | 国产精品成人一区二区三区夜夜夜 |