面试算法汇总:
快速排序 :单链表实现
非递归实现二叉树中序遍历
冒泡排序
单链表反转
算法最长递增子序列的个数
最长公共子串
背包问题
TOPK
二叉树序列化和反序列化
二叉树知道前序遍历和中序遍历构造还原
LRU算法实现不许用现成的数据结构
单链表归并
单链表奇数位递增
偶数位递减进行排序
一个矩阵从左到右增从上到下增查找某个数
单例设计模式(双重锁)
二叉树的 遍历:、
三数之和
无序数组查找中位数(堆排序)
判断一棵树是不是另一个子树
Kmeans手写
两数之和为定值:https://www.cnblogs.com/DarrenChan/p/8871495.html#_label0、
2.5亿个数全排序
堆建立和使用:
import heapq
#建立方法:
nums=[1,2,5,3,6]
heap=[]
for i in nums:
heapq.heappush(heap,i)#heappush也可以向一个已经堆排序的添加
#弹出最小
heapq.heappop(heap)
heapq.heapreplace(nums, 23)#删除最小的并加入一个元素
class Solution(object):
#中序