題目介紹:
題目要求生成第 n 個「Count and Say」序列。序列從 "1" 開始,每一項是對前一項的 讀法描述:依序讀出連續相同數字的個數和數字本身。例如,1 → 11 → 21 → 1211 → 111221。題目考驗字串操作、迴圈與邏輯推理能力,需要依序生成前 n-1 項來得到第 n 項,並正確處理連續數字的計數。
解題流程:
從第一項 "1" 開始,逐項生成到第 n 項,每次遍歷前一項字串,計算連續相同數字的出現次數並組成新的字串。
程式碼及執行結果截圖:
學習心得:
透過從第一項 "1" 開始,逐項生成到第 n 項,我學會了如何計數連續相同字符並組成新的序列。使用 StringBuilder 可以有效避免字串頻繁拼接造成的效率問題。過程中,我也加深對迴圈控制和邏輯判斷的理解,尤其是如何正確處理字串結尾的特殊情況。
延伸邏輯時事面:
1.資料壓縮與編碼:Count and Say 的概念類似 Run-Length Encoding (RLE),在影像壓縮、文字壓縮中有實務應用。
2.字串模式識別:生成序列過程涉及 連續字符計數與模式分析,與現代文字處理、自然語言處理(NLP)相關。
3.遞迴與序列生成邏輯:序列依前一項生成,類似 遞迴演算法與自動化序列生成,可應用於程式化任務、自動化流程或 AI 訓練數據生成