1、偏移量實現(xiàn)環(huán)形遍歷二維數(shù)組
用以下數(shù)組表示四個方向
int[][] d = new int[][]{{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
2、求一個集合中最接近x的數(shù)是什么
TreeSet.ceiling 求>= x 中的最小數(shù)
TreeSet.floor 求 <= x 中的最大數(shù)
3、向上取整 比如 a/b
a/b = (a + b - 1 ) / b
4、對一個集合每次取k / 2,有奇偶性問題
k = k - k / 2
5、存在重復(fù)的集合里選不重復(fù)的子集問題,兩種做法
a、決策去重
b、for迭代里判斷當(dāng)前是不是第一個用
Lc90:子集2
Lc40: 組合組合2
Lc47:全排列2
6、有向圖的拓?fù)渑判?/p>
將入度為0的入隊,bfs處理
Lc204:課程表
7、循環(huán)數(shù)組問題,即到了尾部還能從頭開始遍歷
可以用 i < 2 * n 然后 index = i % n來做
8、如何快速判斷兩個字符串是否有相同字母(都是小寫字母)
可以用int表示字符串26個字母是否有出現(xiàn),然后再將兩int做個與運算,結(jié)果是否大于0
9、邊界問題復(fù)雜題型
lc300:最長遞增子序列
計算器系列