[TOC]
## 思路
* 輔助棧
* 雙指針
* hashmap
## 數組
* 最大連續子序列和
[https://www.cnblogs.com/coderJiebao/p/Algorithmofnotes27.html](https://www.cnblogs.com/coderJiebao/p/Algorithmofnotes27.html)
~~~
public int maxSubSum(int[] array) {
if (array == null || array.length == 0) {
return Integer.MIN_VALUE;
}
int currSum = Integer.MIN_VALUE;
int maxSum = Integer.MIN_VALUE;
for (int i = 0; i < array.length; i++) {
currSum = (currSum < 0) ? array[i] : currSum + array[i];
if (currSum > maxSum) maxSum = currSum;
}
return maxSum;
}
~~~
## 鏈表
* 單鏈表反轉
* 環形鏈表
[https://blog.csdn.net/qq\_33297776/article/details/81034628](https://blog.csdn.net/qq_33297776/article/details/81034628)
* 復制帶隨機指針的鏈表
[https://blog.csdn.net/u014450222/article/details/83002321](https://blog.csdn.net/u014450222/article/details/83002321)
## 二叉樹
* 二叉樹的廣度優先遍歷和深度優先遍歷
[https://blog.csdn.net/weixin\_39912556/article/details/82852749](https://blog.csdn.net/weixin_39912556/article/details/82852749)
* 二叉樹序列化與反序列化
[https://blog.csdn.net/jiangjiang\_jian/article/details/81948131](https://blog.csdn.net/jiangjiang_jian/article/details/81948131)
## 參考資料
[互聯網公司最常見的面試算法題有哪些?](https://www.zhihu.com/question/24964987/answer/586425979?hb_wx_block=0&utm_source=wechat_session&utm_medium=social&utm_oi=648852472060317696)
- Java
- Object
- 內部類
- 異常
- 注解
- 反射
- 靜態代理與動態代理
- 泛型
- 繼承
- JVM
- ClassLoader
- String
- 數據結構
- Java集合類
- ArrayList
- LinkedList
- HashSet
- TreeSet
- HashMap
- TreeMap
- HashTable
- 并發集合類
- Collections
- CopyOnWriteArrayList
- ConcurrentHashMap
- Android集合類
- SparseArray
- ArrayMap
- 算法
- 排序
- 常用算法
- LeetCode
- 二叉樹遍歷
- 劍指
- 數據結構、算法和數據操作
- 高質量的代碼
- 解決問題的思路
- 優化時間和空間效率
- 面試中的各項能力
- 算法心得
- 并發
- Thread
- 鎖
- java內存模型
- CAS
- 原子類Atomic
- volatile
- synchronized
- Object.wait-notify
- Lock
- Lock之AQS
- Lock子類
- 鎖小結
- 堵塞隊列
- 生產者消費者模型
- 線程池