1.背景
在美团,为了保证单子质量,需要对上单系统创建的每一个产品进行审核。为了提高效率,审核人员积累提炼出了一套关键词库,先基于该词库进行自动审核过滤,对于不包括这些关键词的产品信息不再需要进行人工审核。因此 ...
有一种单人游戏,在一个无限大的平板上进行,平板的第一象限被划分成正方形网格。开始时将一个卵石放在平板的角落处,每次操作,如果玩家想从平板上移除一个卵石,可以将两个卵石放在与目标卵石紧挨着的两个位置上,一个在其右边,另一个在其上方,当然这两个位置都必须是空的 ...
给定一个数组,数组内元素递增有序,返回该数组所对应的平衡二叉搜索树。
这里要满足的条件有:平衡,搜索树。
首先看平衡,就是左右子树的高度差的绝对值不大于1 ...
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。
本文地址: http://blog.csdn.net/caroline_wendy
计算一个数的 ...
本文中只是简单的体会bloomFilter算法的基本原理,设计实现一个生成100万个不重复的随机数。
选择3个 分布均匀 质数,在这里面质数的选择还是挺有讲究的,要注意不能太小,必须能够满足bloomfilter空间,不然整个空间都是1了还没有找到100万个不重复的随机数。不多说 ...
在美团,为了保证单子质量,需要对上单系统创建的每一个产品进行审核。为了提高效率,审核人员积累提炼出了一套关键词库,先基于该词库进行自动审核过滤,对于不包括这些关键词的产品信息不再需要进行人工审核。因此 ...
优先级队列是容器的一种,可以向优先级队列中添加或取出数据,取出数据时只能取出最大的数或最小的数。而其他的一些容器比如队列和栈,取出的顺序跟插入的顺序是有关的。
优先级队列的接口如下:
public class MaxPQ<Key ...
介绍二叉堆之前首先介绍二叉树。二叉树有一个根节点,节点下又有两个子节点。完全二叉树是指一个二叉树树除了最底层,其他层都是完全平衡的。
完全二叉树最基本的性质就是它的高度是 floor(lgN)。
堆排的灵感源自于堆的数据结构。它是一种原地排序算法,不需要额外的临时数组。
堆排的基本思想是:
先建立一个最大堆
将最大的元素移动到数组末尾,减小堆的大小,调整最大堆使其符合最大堆的性质
重复第二步 ...