## 實作需求
### 1. Implement
* 以 C++ 11 完成一個文字過濾器
* 基於 UTF-8 編碼並支持不同語言
* 至少完成新增關鍵詞以及過濾關鍵詞的功能
* 對其實作之時間及空間複雜度進行推導和分析
* 請盡可能優化其效能之時間複雜度
* 紀錄實作所使用之資料結構及演算法
* 撰寫專案建置用之 CMake
### 2. Benchmark
* 分析並記錄如何設計其 test case 以及如何進行測試
* test case 包含 200K 個以上長度不等的不完全重複關鍵詞,過濾時輸入長度為 100 左右的句子進行測試
* 圖像化或表格化呈現其運算效能
* 包含測試結果如何計算、分佈性質、信賴區間...等分析參數
* 藉此驗證您所分析之效能時間複雜度
### 3. Optimize
* 盡可能優化其記憶體使用量
* 分析即可,實作更佳
* 更多您發揮創意想到的功能
## 評估方式
完成後請將專案程式碼連同設計及分析報告上傳 github 並回覆專案連結,我們團隊在下班之餘是群很認真經營 github 的人,故必會認真評估您的心血,期望能在一個禮拜內收到您的回覆。
## 提示請求
如果真的對於如何實作毫無方向又找不到相關資料的話,可以來信敘述您目前的狀況,視情況給您一些提示以便您能漸入佳境。