首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
风格子
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
10
文章 10
沸点 0
赞
10
返回
|
搜索文章
赞
文章( 10 )
沸点( 0 )
滑动窗口(Sliding Window)算法介绍
时间复杂度:O(n3). 通过使用HashSet作为一个滑动窗口,检查一个字符是否已经存在于现有的子字符中只需要O(1). 滑动窗口经常作为一个抽象的概念来处理数组/字符串问题。窗口代表着一组数据/字符串元素,通过开头和结尾的索引来定义窗口。 时间复杂度:O(2n)。在最差的情…
接口和抽象理解
我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类。比如new Animal(),我们都知道这个是产生一个动物Ani…
数据库索引为什么用B+树实现?
为什么大多数数据库索引都使用B+树来实现呢?这涉及到数据结构、操作系统、计算机存储层次结构等等复杂的理论知识,但是不用担心,这篇文章20分钟之后就会给你答案。 这一系列涵盖了数据库索引从理论到实践的一系列知识,一站式解决了从理解到融会贯通的全过程,相信每一篇文章都可以给你带来更…
左神直通BAT算法笔记(基础篇)-上
时间复杂度是衡量算法好坏的重要指标之一。时间复杂度反映的是不确定性样本量的增长对于算法操作所需时间的影响程度,与算法操作是否涉及到样本量以及涉及了几次直接相关,如遍历数组时时间复杂度为数组长度n(对应时间复杂度为O(n)),而对数据的元操作(如加减乘除与或非等)、逻辑操作(如i…
RPC基本原理以及如何用Netty来实现RPC
在微服务大行其道的今天,分布式系统越来越重要,实现服务化首先就要考虑服务之间的通信问题。这里面涉及序列化、反序列化、寻址、连接等等问题。。不过,有了RPC框架,我们就无需苦恼。 RPC(Remote Procedure Call)— 远程过程调用,是一个计算机通信协议。该协议允…
DNS 解析调试(dig & nslookup)
最近在进行 dns 调试(比如开发了一个 dns 的 server,就需要调试dns 解析是否符合预期)的时候接触了一些基本工具.此处做个笔记,备查. nslookup命令,是Linux里非常常用的网络命令,简而言之就是“查DNS信息用的”,如果没有此命令,通过yum inst…
go语言实现自己的RPC:go rpc codec
RPC是远程过程调用(Remote Procedure Call)的简称,通过RPC我们可以像调用本地方法一样调用位于其他位置的函数。大家更常见的可能是HTTP API调用,简单来对比的话,RPC比起HTTP调用封装更完善,调用者不必手动处理序列化和反序列化,使用成本更低一些(…
动态规划求解最长公共子序列
推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。 最长公共子序列,英文为Longest Common Subsequence,缩写LCS。…
算法面试(三) 优先队列
1. 概念 优先队列,对比队列而已,顾名思义,就是正常入,按优先级出。可以按小到大,也可以按大到小,或者自定义一个属性,按属性的特征进行出队列。 2. 实现机制 Heap常见的有小顶堆和大顶堆。 小顶堆图上演示的是用二叉堆实现的,优先级越小的越排在前面,父亲节点的值比左孩子和右…
Twitter雪花算法SnowFlake算法的java实现
算机中数据用补码表示,利用补码统一了符号位与数值位的运算,同时解决了+0、-0问题,将空出来的二进制原码1000 0000表示为-128,这也符合自身逻辑意义的完整性。因此八位二进制数表示范围为-128~+127。 你会发现,补码比其它码多一位,这是为什么呢?问题出在0上。 因…
下一页
关注了
15
关注者
0
收藏集
0
关注标签
13
加入于
2018-08-15