目录索引整理 1. 数据结构与算法笔记——用Go语言描述 2. search——bitmap的交并差补,加速版,位运算 3. search——LRU 4. search——bitmap,集合的交并差补 5. search——unionset 6. search——roaring bitmap,map + slice,insert & delete & search O(1) 7. search——roaring bitmap 8. search——inverted index,skiplist 9. search——inverted index,多路归并,多个链表的交集 10. search——inverted index,归并,两个链表的交集 11. search——inverted index,sorted single list 12. search——sorted single list 13. search——Bloom Filter 14. search——BitMap 15. search——哈希表,哈希碰撞,拉链法,AVL Tree 16. search——哈希表,哈希碰撞,拉链法,链表 17. search——哈希表,哈希碰撞,开放寻址,双散列 18. search——哈希表,哈希碰撞,开放寻址,二次探查 19. search——哈希表,哈希碰撞,开放寻址,线性探查 20. search——实现简单的Hash函数 21. search——id映射 22. search——skip list 23. search——binary tree 24. search——AVL tree 25. search——single list 26. search——binary search 27. leetcode 1812 28. leetcode 1796 29. 随便聊几句 30. IEEE 754 31. bellman ford 32. Floyd 33. 学生成绩管理系统? 34. 正排索引与倒排索引 35. nacos go 36. 判定一个数是否在给定的区间中 37. 堆——go 1.18泛型来喽 38. BlockingQueue的简单实现 39. 参数校验go-playground/validator 40. reflect 与 func 41. reflect 与 map 42. reflect 与 channel 43. go分词的第三方库 44. Go语言可见性,项目布局 45. go radix tree 46. 32 << (^uint(0) >> 63) 检查机器位数 47. zero copy 共享底层数据 48. 泛型 go radix tree 增删改查 49. 零拷贝 []byte to string and string to []byte 50. radix tree map gin路由的原理 51. 画个心?? 52. gin中间件原理 53. go 反射执行方法,要不要搞点事情 54. go 泛型 55. 并发编程——Future模式 56. go 另一种命令行进度条的实现\b 57. WaitGroupWrapper 58. 简单工厂模式 59. go周期性执行任务? 60. go空指针还能调用方法?方法还能这么用Person.Sleep(*p)? 61. 99行代码实现go IOC容器 62. go ioc再探 63. go ioc初探 64. go反射获取func入参及其返回值类型 65. 统计协程运行时间 66. go协程复用 67. http分块发送 68. 泛型迭代器 69. 利用channel收集多协程写出的数据 70. cookie & session 71. gorm Preload 坑啊 72. sleep to next day 73. go 一种命令行进度条\r 74. go template synatx 75. 元编程是个啥 76. 图灵完备性 77. android投屏到电脑 78. how to deal with it ? 79. reflect 与 slice 80. reflect.MakeMap 81. reflect.MakeFunc 82. 根据指定字符串调用对应名称方法 83. var _ Interface = (*Struct)(nil) 84. go iota 85. go 1.19 泛型 86. go string 是只读的 87. unsafe初探 88. cmd for 89. multiple module 版本不一致 90. sessions 91. go字符画 92. cgo浅尝一下 93. cookie——看你五秒钟能刷新多少次 94. gin session 95. 他 说 着 96. Trie 树 简单路由,随便写写 97. martini or gin Next() 98. julienschmidt/httprouter 99. go-martini/martini 100. go reflect 获取结构体所有tag 101. go 闭包? 102. gin和gorm更配哦 103. go mysql 104. 翻出了大学的第一次大物实验 105. 数据分析? 106. 云也是谁呀 107. 位运算——状态压缩 108. 零拷贝技术 109. 只在此山中,云深不知处 110. go concurrency map 的简单实现 111. 最短路径染色 112. 扫描Go源码 113. go标准库——list的实现 114. go标准库——ring的实现 115. go标准库——heap的使用 116. go标准库——heap的实现 117. arr := [0]int{} ? 118. runtime.SetFinalizer 119. 747. 至少是其他数字两倍的最大数 120. regexp 121. 文本框测试 122. Android Studio引入第三方so库 123. ubuntu jetBrains系列软件中文无法输入 124. cgroups 125. 查看运算顺序,执行顺序 126. 逆向——借尸还魂 127. Go adb 自动调试 128. 一维数组变二维数组 129. NET Namespace 130. USER Namespace 131. MOUNT Namespace 132. PID Namespace 133. IPC Namespace 134. UTS Namespace 135. 并发小模型 136. MakeMistake 137. 不相同的随机数 138. for select的坑 139. 捕获匿名函数panic 140. CheekFile 141. GetFileInfo 142. 归并排序——leetcode327 区间和的个数 143. 归并排序——数组中左边数大于二倍右边数的总个数 144. 归并排序——求逆序对个数 145. 链表——根据给定的值删除节点 146. 位运算——出现K次的数 147. 资源限制类问题 148. 岛的个数问题 149. Bloom Filter 150. leetcode 859亲密字符串 151. 切片底层数组测试 152. leetcode 202 快乐数 153. 动态规划——leetcode 53 最大子数组和 154. 窗口内最值问题的更新结构 155. 双端队列的简单实现 156. Go 1.18 新增API strings.Clone() 157. AC自动机——文章中是否出现多个字符串 158. Binary Indexed Tree 159. SkipListMap 160. SizeBalancedTreeMap 161. AVLTreeMap 162. BinarySearchTree 163. 数组累加和——汇总 164. 打印二维数组——汇总 165. 打表找规律——合集 166. SegmentTree——区间更新问题 167. Morris遍历——二叉树遍历时间复杂度O(N)&额外空间复杂度O(1) 168. 调整数组元素位置,奇偶位置 169. Manacher算法——字符串最长回文子串问题O(N) 170. bfprt算法——无序数组第k小的数O(N) 171. KMP算法——字符串匹配及其应用 时间复杂度O(M+N) 空间复杂度O(N) 172. 随机——蓄水池抽样算法 &等概率值 173. 斐波那契数列 和它的logN解法 174. 动态规划——马儿跳 175. 滑动窗口最值问题及单调栈 176. 动态规划——寻找业务限制的尝试模型 177. 动态规划——多样本位置全对应的尝试模型 178. 动态规划——贴纸拼词 179. 动态规划——钱币的组合方法数 180. 动态规划——机器人走路 181. 动态规划——范围上的尝试模型 182. 动态规划——从左往右的尝试模型1 183. 动态规划——从左往右的尝试模型2 184. 反射——调用方法 185. 反射——运行时创建结构体 186. 反射——根据结构体创建insert语句 187. go接口的坑 188. 用切片实现一个简陋的Map 189. 递归——汉诺塔问题 190. 递归——打印一个字符串的全部子序列 191. 递归——打印一个字符串的全排列 192. 递归——范围上的尝试模型 193. 递归——从左往右的尝试模型 194. 递归——N皇后问题 195. 缓存刷新问题 196. 赛高是个啥? 197. 零和博弈? 198. 删除单链表的节点 199. 递归——前奏练习 200. 递归——逆序一个栈 201. 图——Dijkstra 202. 图——最小生成树算法Prim 203. 图——最小生成树算法Kruskal 204. 图——拓扑排序 205. 图——深度优先遍历 206. 图——宽度优先遍历 207. 图——模板 208. 桶排序思想——重新排序得到 2 的幂 209. 并查集汇总 210. 贪心算法训练汇总 211. 二叉树汇总及二叉树递归套路 212. recover & panic 213. 链表——题目集合 214. 排序——算法总结 215. 排序——插入排序 216. 排序——基数排序 217. 排序——希尔排序 218. 排序——选择排序 219. 排序——桶排序 220. 排序——冒泡排序 221. 排序——计数排序 222. trie——字典树 223. 堆定制——2.0过度泛化版 224. 堆定制——1.0强耦合版 225. go标准库——优先级队列的实现 226. 堆排序——Go标准库堆,排序一个几乎有序的数组 227. 排序——堆排序 228. 堆排序——大根堆 229. 排序——快排 230. 数组——按值划分区域 231. 用异或交换两个数的问题 232. 归并排序——小和问题 233. 排序——归并排序 234. 递归——求数组最大值 235. 数组——环形队列、RingArray、RingBuffer 236. 数组——栈 237. 链表——实现队列和栈 238. 链表——初探,反转,删除 239. 二分——无序无重复元素数组的局部最小值的索引 240. 二分——有序数组,某个数最左或最右的位置 241. 二分——有序数组查找元素 242. copy slice 243. 1880. 检查某单词是否等于两单词之和 244. 1662. 检查两个字符串数组是否相等 245. go闭包demo 246. 定义类型与定义别名 247. go 高维切片 for 赋值的坑 248. 位运算——476. 数字的补数 249. buf = buf[:0] —— 复用内存 250. 位运算——IntSet 251. go for 的坑 252. 位运算——面试题 17.19. 消失的两个数字 253. 位运算——1386. 安排电影院座位 254. 位运算——回文判断 255. 位运算——交换奇偶位 256. 位运算——二进制截断和插入 257. 位运算——leetcode 1763 258. 位运算——奇淫技巧 259. 位运算——出现一次的数,出现两次的数 260. safeEqual & 计时攻击 261. map-reduce-filter 262. reflect的那点儿事儿 263. 用两个栈实现一个队列 264. 用两个队列实现一个栈 265. logger demo 266. IOC 模型 267. gorm 初探 268. AES加解密 269. 监控文件变化 270. 配置文件读取 271. sync.Pool 272. go分词库 273. duck typing 274. errgroup 275. fork-join 276. 锁饥饿问题 277. copy on write 278. 一段会导致goroutine泄露的代码 279. cas aba 280. write combining 281. false sharing 282. close channel 283. Tracker 284. 读写未初始化的channel会死锁 285. 优雅控制服务的启动与关闭 286. os.Exit 会导致defer无法执行 287. 101个设计模式 288. 短路与、或运算 289. sql 数据表转换为go结构体 290. go时区问题 291. 用if触发写屏障 292. 防止野生 goroutine panic 293. 利用close channel特性做下线通知 294. Go 通用结构体赋值 295. map的“伪缩容” 296. CPU分支预测带来的性能问题 297. 缓存的局部性原理 298. 求1比特数 299. context–优雅的控制goroutine生命周期 300. 获取行号,调用方 301. defer 302. 统计字符串中汉字的个数 303. go三目运算 304. 实现快速幂 305. 求十进制数第n位上是多少 306. 两个点确定移动趋势 307. Java多线程 308. 最小栈、leetcode:155 309. 最小路径和,leetcode:64 310. 数组旋转问题,leetcode:48 311. Undo 的实现 312. go根据结构体中任意字段进行排序 313. 选项模式(option) 314. 策略模式(Strategy) 315. 访问者模式(Visitor) 316. 模板方法模式(Template Method) 317. 状态模式(State) 318. 观察者模式(Observer) 319. 备忘录模式(Memento) 320. 中介者模式(Mediator) 321. 迭代器模式(Iterator) 322. 解释器模式(Interpreter) 323. 命令模式(Command) 324. 责任链模式(Chain of Responsibility) 325. 代理模式(Proxy) 326. 享元模式(Flyweight) 327. 外观模式(Facade) 328. 装饰器模式(Decorator) 329. 组合模式(Composite) 330. 桥梁模式(Bridge) 331. 适配器模式(Adapter) 332. 单例模式(Singleton) 333. 原始模型模式(Prototype) 334. 工厂方法(Factory Method) 335. 建造模式(Builder) 336. 抽象工厂模式(Abstract Factory)