首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
hhx20120607
掘友等级
Wuhan University
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
最长非下降子序列(O(nlogn))(offer收割)
核心思想是,维护一个数组ends,它记录了长度为k的子序列的末尾元素的最小值。听起来很抽象,我们不妨手动演示一遍整个过程。 假设数组a={2,9,4,27,29,15,7},令length表示当前找到的最长非下降子序列的长度。初始时length=1,ends[1]=2。 i=6…
线程安全的无锁RingBuffer
RingBuffer是环形缓冲区,支持读和写两种操作,类似于循环队列。在实现上,一般用数组存储数据,同时设置双指针head和tail,head指向队首,tail指向队尾。读数据时,head++;写数据时,tail++。显然,RingBuffer不是线程安全的,需要对读写数据进行…
五种常见的加密算法及简单使用
加密算法可以分为单向加密算法、对称加密算法和非对称加密算法。 单向加密算法:只能加密不能解密,输入是任意长度字符串,输出是固定长度的字符串。常见的有MD算法、SHA算法,一般用于信息摘要。 对称加密算法:既能加密又能解密,并且加密解密使用相同的密钥。常见的有AES、DES算法,…
Java中的动态代理
所谓代理模式是指,为目标对象提供一个代理对象,以替代对于目标对象的访问。代理模式的实现过程是:实现代理对象的接口,并包含一个指向目标对象的引用。Java中对于代理模式的实现是动态代理。 动态代理提供了Proxy和InvocationHandler两个接口,提供了对于代理模式的通…
Java中的克隆
根据一个现有对象克隆出多个对象,这叫做原型模式。Java中的Cloneable接口定义了对象的克隆,它是一个声明式接口,没有定义任何抽象方法。Cloneable接口存在的唯一意义是:告知Java虚拟机,可以在该对象上调用Clone()方法。实际上,Clone()方法定义在Obj…
Java字符串的存储方式
Java中的字符串只能位于内存中的两个区域:常量池和Java堆。常量池维护了一个StringTable,它是一个hashtable,以字符串hashcode作为键,字符串引用作为值;Java堆中存储的就是普通的字符串对象。 那么如何判断字符串到底位于哪一个区域呢? 有以下几种情…
常见海量数据处理问题的解决思路
哈希分片。计算每个数据的哈希码,再进行求模运算,这样相同的数据将进入相同的分片。 字典树/哈希表。对每个分片,统计数据出现的次数。 堆。利用堆求topK问题。 归并。由于每个分片之间不存在重复数据,归并过程就很简单。 分别对a、b两个文件进行哈希分片,方法是hash(s)%10…
从虚拟机角度理解Java中的多态
众多周知,面向对象的编程思想中包含四大特性:抽象、封装、继承和多态。Java中有三种实现多态的方法:重载、重写和覆盖。关于三者的差异,已经有大量的技术博客给予了详细的分析与总结,本文从虚拟机角度对三者进行全新的阐释。在虚拟机看来,所谓的重载、重写和覆盖,实际上是一个选择方法或属…
记录一次诡异的BUG--C 隐式类型转换
请问上述代码执行后输出结果是什么?答案是-1。 很多人应该和我一样,第一反应是0,因为nums的长度是1,循环体根本没有被执行。实际上这是错误的,原因在于nums.size()方法的返回类型为size_t,size_t的定义为: 也就是说,size_t是无符号整数类型,当计算n…
二分法
和第一种情况一样,但要注意避免死循环问题。
下一页
个人成就
文章被点赞
2
文章被阅读
28,178
掘力值
387
关注了
0
关注者
3
收藏集
0
关注标签
0
加入于
2018-12-28