首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
面试基础
订阅
codelife58191
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
算法面试(三) 优先队列
1. 概念 优先队列,对比队列而已,顾名思义,就是正常入,按优先级出。可以按小到大,也可以按大到小,或者自定义一个属性,按属性的特征进行出队列。 2. 实现机制 Heap常见的有小顶堆和大顶堆。 小顶堆图上演示的是用二叉堆实现的,优先级越小的越排在前面,父亲节点的值比左孩子和右…
看动画理解「链表」实现LRU缓存淘汰算法
前几节学习了「链表」、「时间与空间复杂度」的概念,本节将结合「循环链表」、「双向链表」与 「用空间换时间的设计思想」来设计一个很有意思的缓存淘汰策略:LRU缓存淘汰算法。 如上图所示:单链表的尾结点指针指向空地址,表示这就是最后的结点了。而循环链表的尾结点指针是指向链表的头结点…
那些年,面试中常见的数据结构基础和算法题(上) | 掘金技术征文
作为一个多年的老菜鸟,有感于大部分的公司面试 “面试造航母,工作螺丝钉” 的作风,特整理了这个数据结构和算法面试题系列。对于校招而言,如果没有太多实践/实习经验,大公司往往喜欢考察数据结构和算法,如微软就特别喜欢在校招时手写算法题,而且难度还不小,当年我毕业找工作时也是颇受折磨…
[译] Google Interview University - 坚持完成这套学习手册,你就可以去 Google 面试了
这是一套精心制作的学习手册,让自己从一个单纯的开发者成为一个合格的 Google 工程师,这份手册里包含了算法、编程知识、代码结构等各个方面的学习资料及详细的学习计划!(更新:关注【掘金翻译计划 https://github.com/xitu/gold-miner】,获取更多优质译文。
贪心算法之无重叠区间
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 首先进行排序,排序后的数据更容易比较,不然再无序状态下需要频繁的遍历数组。 排序,首先根据起始点排…
滑动窗口(Sliding Window)算法介绍
时间复杂度:O(n3). 通过使用HashSet作为一个滑动窗口,检查一个字符是否已经存在于现有的子字符中只需要O(1). 滑动窗口经常作为一个抽象的概念来处理数组/字符串问题。窗口代表着一组数据/字符串元素,通过开头和结尾的索引来定义窗口。 时间复杂度:O(2n)。在最差的情…
LeetCode第 146 号问题: LRU 缓存机制
运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。 写入数据 put(ke…
面试最让你手足无措的一个问题:你的系统如何支撑高并发?【石杉的架构笔记】
大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实本质就是没经历过一些真正有高并发系统的锤炼罢了。 因为没有过相关的项目经历,所以就没法从真实的自身体会和经验中提炼出一套回答,然后系统的阐述出来自己复杂过的系统如何支撑高并发的。 所以,这篇文章就从这个角…
看图轻松理解桶排序
已删!