從一道面試題說開來
一道簡單的面試題,實際上是可以千變萬化的。我們通過下面的例子,啟示大家在練習的過程中,應該學會擴充思考,看看你自己能對一道題做哪些變換,怎麼提升。
面試題:給一個陣列和一個值,從陣列中刪除這個指定的值的所有出現,並且返回新的陣列的長度。
看似一道非常簡單的面試題,其實,我們可以進行各種的變換。讓我們來看幾個:
(一)給一個Template的定義,讓寫成Template function
size_t remove_elem(T* array, size_t len, T elem) {}
(二)如果刪除後要保持原來元素的順序,你的演算法是否滿足?
上面兩個是給題加更多的限制條件。
(三)任給一篇文章,其中的詞是空格隔開的,寫一個程式來刪除一個指定的詞的所有出現。
(四)設計一個類,用來處理檔案編輯。要求支援的操作有:插入,刪除,修改。其中有一個刪除操作時刪除一個指定詞的所有出現。怎麼實現這個類,並且實現這個刪除操作。
上面兩個是給出應用場景,實質沒變。
(五)給出一個字串,刪除某個字串的所有出現。要求最有的字串一定不能還出現這個字串。比如,從aababb中刪除ab字串,最後結果是空串。
這個是改變資料型別,同時可能遞迴刪除。
(六)給一個1T的整數檔案和100M記憶體的機器,怎麼刪除一個指定整數的所有出現。
這個是大資料量。
(七)一批資料分佈在多臺機器上,怎麼刪除一個指定的數的所有出現。
這個是考慮分散式計算。
(八)要求刪除的不是指定的數,而是刪除所有的子陣列,它們的元素的和等於指定的數。
因此,我們需要掌握題的精髓,然後靈活運用之。那麼,我們在練習面試題時,不應該只是完成和實現而已,我們應該做更多的思考,看看你自己還能想到哪些變化,還能怎麼提升它。
相關文章
- 從 Google 的一道面試題說起·Go面試題
- 從一道筆試題題說起筆試
- JS 非同步執行順序 -- 從一道面試題說起JS非同步面試題
- 從一道面試題說起—js隱式轉換踩坑合集面試題JS
- 從一道坑人的面試題說函數語言程式設計面試題函數程式設計
- 聽說這是一道頭條面試題面試題
- 從一道前端面試題談起前端面試題
- 從一道場景面試題談起面試題
- 透過面試題來說說Promise面試題Promise
- 來聊一道前端面試題吧前端面試題
- 從一道面試題探究 Integer 的實現面試題
- 從一道面試題談 Array.prototype.push()面試題
- 從兩道面試題說起面試題
- 一道面試題面試題
- 從一道春招筆試題說起 [上]筆試
- 從一道面試題來認識java類載入時機與過程面試題Java
- 又被奪命連環問了!從一道關於定時任務的面試題說起。面試題
- 從itpub看來的一道組合題
- Java最大棧深度有多大?-從一道面試題開始學習JVMJava面試題JVM
- mysql一道面試題MySql面試題
- 從一道面試題認識函式柯里化面試題函式
- 【理解】一道 JS 面試題JS面試題
- 一道面試題的分析面試題
- 一道騷面試題目面試題
- 解析一道JS面試題JS面試題
- 從一道前端面試題引發的原理性探究前端面試題
- 從一道面試題,到“我可能看了假原始碼”面試題原始碼
- 一道面試題:去重排序面試題排序
- 一道面試題引起的思考面試題
- 分享一道昨天的面試題面試題
- iOS 每天一道面試題iOS面試題
- 一道柯里化面試題面試題
- 一道java面試基礎題Java面試
- 一道hibernate面試題,求解?面試題
- 一道sql面試題的解答SQL面試題
- 幫忙解答一道面試題面試題
- 從一道面試題來學習前臺程式和後臺程式、孤兒程式和殭屍程式面試題
- 一道面試題帶來的前端優化——實現星星點評面試題前端優化