几种排序
摘要:1.mergeSort O(nlogn)的时间复杂度,需要O(n)的额外空间。 1 public void sortIntegers2(int[] A) { 2 // Write your code here 3 if (A == null || A.length == 0) { 4 return
阅读全文
图与搜索
摘要:主要知识点: 克隆图 拓扑排序 DFS BFS BFS两个使用场景:图的遍历 简单图求最短路径 BFS in Graph 和BFS in Tree的主要区别就是有无环 遇到让找所有方案的题,一定是DFS,90%的DFS要么是排列,要么是组合。 Clone Graph --not bug free 方
阅读全文
数组
摘要:Tips: 1.遇到subArray相关问题,多思考prefix sum 2.2Sum相关问题的两种解法 hashMap:更加适用于求解结果和下标相关的问题 sortedArray + twoPoint:更加适用于求解结果和值相关问题。对于closest问题多半是使用 two point 3.Par
阅读全文
链表
摘要:Tips: 1.链表结构dummy node 的使用。当链表结构发生变化时使用dummy node.也就是其链表表头可能发生变化的时候。 2.链表结构基本操作: 插入一个节点 删除一个节点 旋转链表 合并两个链表 求一个链表的中间位置 几个总结: 以下题目细节容易出错: 1. 删除排序链表重复元素这
阅读全文