多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

從1到n整數(shù)中1出現(xiàn)的次數(shù)

來(lái)源:程序員人生   發(fā)布時(shí)間:2016-07-04 12:14:38 閱讀次數(shù):3145次

題目

輸入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共出現(xiàn)5次

解題

這個(gè)題目比較難
直接暴力

public class Solution { public int NumberOf1Between1AndN_Solution(int n) { int count = 0; for(int i =1;i<=n;i++){ count +=NumberOf1(i); } return count; } public int NumberOf1(int num){ int count =0; while(num!=0){ if(num%10==1){ count++; } num/=10; } return count; } }

對(duì)數(shù)字n,有log(n)
對(duì)1到n內(nèi)的數(shù)統(tǒng)計(jì)1的次數(shù),時(shí)間復(fù)雜度就是nlog(n)

編程之美上講授很詳細(xì),不想敲字了

public class Solution { public int NumberOf1Between1AndN_Solution(int n) { int count = 0; int factor = 1; int low = 0; int cur = 0; int high = 0; while(n/factor!=0){ cur = (n/factor)%10; //當(dāng)前位 low = n - (n/factor)*factor ;// 低位數(shù)字 high = n/(factor*10); //更高位 switch( cur){ case 0: count+= high* factor; break; case 1: count+= high* factor + low + 1; break; default: count +=(high+1) * factor; break; } factor *=10; } return count; } }
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 性视频久久 | 亚洲人成影院在线高清 | h视频免费在线观看 | 午夜理伦三级在线观看 | 就去色综合 | 伊人中文在线 | 亚洲成网站 | 在线亚洲自拍 | 欧美第八页 | 久久精品国产第一区二区 | 精品剧情v国产在免费线观看 | 精品久久久久久久高清 | 牛和人交videos欧美冫3d | 天天综合亚洲国产色 | 福利视频99 | 亚洲专区欧美专区 | 久久一级视频 | 国产国产人免费视频成69大陆 | 国产精品第一页爽爽影院 | 久久色国产 | 久久国产亚洲欧美日韩精品 | 福利在线一区 | 在线观看的免费视频网站 | 午夜影院免费入口 | 免费在线亚洲 | 国产人人爱 | 国产成人综合网亚洲欧美在线 | 91好色| 羞羞影院免费观看网址在线 | 一本大道卡一卡二卡三视频 | 爱爱的免费视频 | 综合图| 97热久久免费频精品99国产成人 | 亚洲视频一区二区在线观看 | 男女羞羞免费视频 | 欧美成人性色区 | 97精品一区二区三区在线不卡 | 亚洲精品国产专区一区 | 羞羞动漫免费网站 | 欧美日韩一区二区在线视频播放 | 亚洲在线偷拍自拍 |