題目大致上就是會給由小寫英文和數字組成的一個長度介於 1~1000 的字串
計算由英文字母間隔開的數字有幾種
刷題歷程:
1. 最一開始恨直覺的把數字的區段轉成整數後做紀錄
做到一半就想到值域的問題所以果斷放掉這一條路
2. 基本上把數字區段截出來之後一樣把他當字串來比較就好
剩下就是怎麼去紀錄過去出現的字串和當下的數字字串是否相同
3. 我自己是稍微做了以下的一些調整
a. 紀錄出現過的數字字串改成紀錄數字字串在原字串起始點和長度
起始點和長度是數字字串紀錄當下可以同時紀錄的資訊
b. 當下數字字串要往前比較實先確認長度一樣再逐一比較字元
上面兩個應該多多少少都比直覺的暴力法優化了一丁點
4. 大致架構其實就像上面一樣單純
只是一些細節的地方一直是我自己寫程式的弱點
像是 0 也是一個數字,不同位數的 0 都視為相同的 0
或是一些分類的判斷都還是不夠細膩來回細條了好幾次
問題紀錄:
1. 一開始光在輸入字串就卡關了 xD
大致上是 scanf("%c", xxx); 這邊換行符也會被判斷成一個輸入字元
所以我一開始想要逐一輸入字元的方法直接卡關
網路上有很多解法我自己隨意試了兩個
a. scanf 的 %c 前面加一個空白來清掉前一次的換行符
這個方法我個人是覺得有點土砲所以後來放棄了
b. 使用 %s 來截取整個字串
滿直覺的後來採用這個
2. 字元符請用單引號不要用雙引號
現在工作 python 寫多了完全忘記這回事