面试常考
爱吃火锅的仙女
这个作者很懒,什么都没留下…
展开
-
【面试常考算法】经典的 Top K 问题
输出最小的k个数方法一:排序对原数组从小到大排序后取出前k个数即可。直接调用sort函数def smallestK(a,k): a.sort() return a[:k]方法二:堆用一个大根堆实时维护数组的前k小值。首先将k个数插入大根堆中,随后从第k+1个数开始遍历,如果当前遍历到的数比大根堆的堆顶的数要小,就把堆顶的数弹出,再插入到当前遍历到的数。最后将大根堆里的数存入数组返回即可。利用python中的heapq模块def smallestK(a,k): if k原创 2021-04-16 21:38:57 · 153 阅读 · 0 评论 -
【面试常考算法】排序算法汇总~
原理性内容可参见:https://blog.csdn.net/weixin_41571493/article/details/818750881. 冒泡排序相邻两个值比较,每次确定一个最值放在数据尾部对n个值进行操作,重复n-1趟时间复杂度O(n^2)def BubbleSort(arr): n=len(arr) if n<=1:return for i in range(n-1): for j in range(n-i-1): if arr[j]>arr[j+1]原创 2021-04-16 20:56:46 · 172 阅读 · 1 评论 -
【面试常考算法】二叉树遍历系列总结
本篇主要记录二叉树的四种遍历方式(前序、中序、后序、层序)。一般可以使用递归或迭代进行遍历。题目参考力扣144.94.145.102转载 2021-07-23 11:58:00 · 174 阅读 · 0 评论 -
【面试常考算法】N叉树的遍历系列总结
和二叉树类似,N叉树的遍历也有递归和迭代两种写法,同时,递归写法比较简单。具体题目参照leetcode589,590,429结点定义:class Node: def __init__(self, val=None, children=None): self.val = val self.children = children"""仿照上一节的二叉树遍历写法,相信是可以写出来的~递归法前序遍历~class Solution: def preor原创 2021-07-23 16:37:10 · 192 阅读 · 0 评论