Blinkbean
03
07
07
07
05
Golang-字符串高效拼接 Golang-字符串高效拼接
原文链接在我们编程的时候,和字符串打交道是必不可少的,我们对数据库里文本的处理,Web文本的显示,文本数据的存储等都需要和字符串打交道,那么对于字符串来说,查找、拼接这些都是常用的操作,尤其是以拼接使用的比较多,比如把一个人的姓名和年龄拼接
2021-03-05
02
07
01
07
你的AES加密结果相同吗 你的AES加密结果相同吗
AES加密后的结果,数据接收方解不出来,是哪里的问题?AES的安全性: 在密码学的意义上,只要存在一个方法,比穷举法还要更有效率,就能被视为一种“破解”。故一个针对AES 128位密钥的攻击若“只”需要2^120^计算复杂度(少于穷举法 2
2021-01-07
07
10
07
算法导论-单数组实现双端队列 算法导论-单数组实现双端队列
栈插入和删除元素只能在同一端进行,队列的插入操作和删除操作分别在两端进行,与它们不同的,有一种双端队列(deque),其插入和删除操作都可以在两端进行。写出4个时间均为O(1)的过程,分别实现在双端队列插入和删除元素的操作,该队列使用一个数
2020-10-07
07
算法导论-两个栈实现队列 算法导论-两个栈实现队列
用两个栈实现队列,并分析相关队列操作的运行时间。 单栈push和pop的运行时间都为O(1),所以需要考虑的就是两个栈之间切换所用时间。 最坏情况:在push和pop交替操作时,需要将一个栈中的数据转移到另一个栈中,转移所用时间为O(n),
2020-10-07
07
05
算法导论—一个数组中实现两个栈 算法导论—一个数组中实现两个栈
如何在一个数组A[1..n]中实现两个栈,使得当两个栈的元素个数之和不为n时,两者都不会发生上溢。 要求push和pop操作的运行时间为O(1)。 实现: 两个栈分别从数组的两端开始,向中间push元素,直到两个指针相遇。12345678
2020-10-05
08
03
Redis-exists有可能超出你的预期 Redis-exists有可能超出你的预期
Redis的Exists有可能超出你的预期 理论上每个key都应该有过期时间(当然也可以是一万年),通常情况下用exists来判断一个key是否存在都没什么问题(一般过期时间都比较长)。但如果过期时间需要精确到秒或十秒及,那么exists就
2020-08-03
07
20
Mysql-自增列AUTO_INCREMENT Mysql-自增列AUTO_INCREMENT
AUTO_INCREMENT两种情况1、在载入语句执行前,已经不确定要插入多少条记录。 在执行插入语句时在==表级别==加一个==auto-inc锁==,然后为每条待插入记录的auto-increment修饰的列分配递增的值,语句执行结束
2020-07-20
17
Redis-两次redis操作用不用pipeline Redis-两次redis操作用不用pipeline
为什么需要 pipeline ? 正常情况下,客户端发送一个命令,等待 Redis 应答;Redis 接收到命令,处理后应答。请求发出到响应的时间叫做往返时间,即 RTT(Round Time Trip)。在这种情况下,如果需要执行大量的命
2020-07-17
16
Emotions Emotions
图片 黑人问号 原来如此
2020-07-16 blinkbean
4 / 6