数据结构与算法
aolaf
这个作者很懒,什么都没留下…
展开
-
topk问题
1. 求出现频率前 k 高的元素(1)遍历整个数组,并使用哈希表记录每个数字出现的次数,并形成一个「出现次数数组」。(2)找出原数组的前 k个高频元素,就相当于找出「出现次数数组」的前 k大的值。class Solution {public: class myComparison{ public: bool operator()(const pair<int, int>& lhs, const pair<int, int>& r原创 2021-03-26 16:07:57 · 159 阅读 · 0 评论 -
数据结构与算法——概念篇
1. 哈希1.1 哈希表1.1.1 哈希表的定义哈希表是一种以键-值存储数据的结构,输入待查找的key,即可找到其对应的value。1.1.2 哈希表实现原理利用哈希函数将被查找的键转换为数组的索引,来寻找其对应的值。理想情况下不同的键会被转换为不同的索引,但有时不同的键会被哈希到同个索引,这时需要处理冲突。key1!=key2,而 f (key1) = f(key2)。此法仅...原创 2019-09-02 16:59:21 · 342 阅读 · 0 评论 -
数据结构与算法——思路篇
1. 链表1.1 从尾到头打印链表1.1.1 思路从头到尾遍历链表,将值放入栈中,遍历结束后再依次弹出栈中元素。1.1.2 实现方式1.2 输出链表中倒数第k个节点1.2.1 思路遍历链表,将节点放入栈中。遍历结束后从栈中找到倒数第k个节点1.2.2 实现方式1.3 反转链表,输出新链表表头1.3.1 思路设置两个指针,一开始pre指向None,cur指向链表头,同时往后...原创 2019-09-05 11:20:42 · 445 阅读 · 0 评论