国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

題目:輸入一個整數n,求從1到n這n個整數的十進制表示中1出現的次數。

2019-11-10 18:30:16
字體:
來源:轉載
供稿:網友
題目:輸入一個整數n,求從1到n這n個整數的十進制表示中1出現的次數。例如輸入12,從1到12這些整數中包含1 的數字有1,10,11和12,1一共出現了5次。

分析:這是一道廣為流傳的google面試題。

別人分享個題目給我,如上。

    PRivate static void testOneNumber() {        Integer s = 11;        int result = 0;        String tempString;        char[] temp;        String one = "1";        char oneChar = '1';        for (Integer i = 1; i < s + 1; i++) {            tempString = i.toString();            temp = tempString.toCharArray();            if (tempString.contains(one)) {                for (char aTemp : temp) {                    if (oneChar == aTemp) {                        result++;                    }                }            }        }        System.out.println(result);    }

然后,測試代碼如上,運行結果如下

對于其他的數字,自己把代碼整下來,自己測試一下就OK拉。

思路:1.為什么要用Integer而不是int?因為,這個是對象,而int是基本類型,差別就在對象是有很多方法可以使用的。2.數據類型之間的轉換Integer可以直接toString成字符串,字符串又可以直接toCharArray,然后就變成了char數組,char數組之后,就可以挨個的比較字符啦。char類型的比較可以只等用 == ,而不是字符串的需要equal方法。3.關于算法因為,我對算法這個還沒研究,時間復雜度啥的,真的不是很清楚怎么在處理。所以這個處理方式,是個嵌套for循環。效率上可能不是好。但是其他的好的方法,暫時還是沒有想到喲。


上一篇:C#/.net學習-5

下一篇:智能電子鐘

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莒南县| 陆丰市| 岱山县| 洮南市| 布拖县| 都江堰市| 慈溪市| 广宁县| 白沙| 保亭| 天气| 巴塘县| 璧山县| 砀山县| 集贤县| 高邮市| 文水县| 中江县| 西昌市| 彭阳县| 潞西市| 额济纳旗| 防城港市| 襄樊市| 甘谷县| 积石山| 黑河市| 湘潭县| 麻江县| 浦东新区| 湖南省| 舞阳县| 鹤壁市| 清流县| 伊金霍洛旗| 上饶县| 甘孜| 新和县| 米泉市| 永嘉县| 漳浦县|