C++ 演算法面試常函式
簡介
這邊介紹我自己在解題會用到的小抄以及解題想法。
解題思路
- 看題目:先想資料範圍、資料儲存形式、正負與大小會不會有影響、加總、乘積會不會超過
INT_MAX等,這個是當下要跟面試官討論的部分- 想題目的 edge case
- Overflow
- 先講暴力破解方法,並且分析時間跟空間複雜度
- 開始想資料結構和演算法優化
- One-pointer
- Greedy
- Prefix sum
- Two-pointer
- 兩邊慢慢集中到中間
- Sliding window
- 快慢指標
- Sort
- Binary search
- Divide and Conquer
- DP
- Retrieve
- Top-down/Bottom-up
- One-pointer
常用資料結構
以下先提供各種小抄: