自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1050)
  • 资源 (2)
  • 论坛 (1)

原创 libevent中堆的实现(很标准的堆实现)

// 所有宏定义已经展开typedef struct min_heap{ struct event** p; // 预留的空间 unsigned n, a; // n : 元素个数 a : 预留的空间的长度} min_heap_t;void min_heap_ctor_(min_heap_t* s) { // 初始化堆 s->p = 0; s->n = ...

2020-02-15 20:46:46 60

原创 redis zipList 压缩列表源码分析

#define ZIP_END 255#define ZIP_BIGLEN 254/* Different encoding/length possibilities */#define ZIP_STR_MASK 0xc0#define ZIP_INT_MASK 0x30#define ZIP_STR_06B (0 << 6)#define ZIP_STR_14B (...

2020-02-15 18:12:07 42

原创 redis intset 整数集合源码分析

// 整数集合typedef struct intset { // 编码方式 uint32_t encoding; // 集合包含元素的数量,注意是元素的数量,不是contents保存元素的字节数 uint32_t length; // 保存元素的数组 int8_t contents[];} intset;#define INTSET_E...

2020-02-13 18:02:41 32

原创 redis list 链表源码分析

// 双向链表typedef struct listNode { struct listNode *prev; struct listNode *next; void *value;} listNode;typedef struct list { // 表头节点 listNode *head; // 表尾节点 listNo...

2020-02-11 19:56:19 32

原创 redis dict 字典源码分析

// 调用hash生成函数,生成key对应的hash值#define dictHashKey(d, key) (d)->type->hashFunction(key)// 比较key1和key2是否相等,相等返回真// 如果有提供key值比较的函数就调用这个函数,没有的话就直接比较key#define dictCompareKeys(d, key1, key2) \ ...

2020-02-11 17:12:12 42

原创 libevent的event_base源码分析

struct event_config { // 这个队列中存放的是config中需要避免的IO多路复用模型 TAILQ_HEAD(event_configq, event_config_entry) entries; // CPU的个数,仅仅在win下的iocp设置了CPU个数后会智能的调整 // event_config_set_num_cpus_hint 可以设置 int n_c...

2020-02-09 10:41:28 74

原创 libevent中事件添加源码分析

// struct event 的实现:struct event { // 保存回调函数的相关参数 struct event_callback ev_evcallback; /* for managing timeouts */ // 仅用于当前事件是定时器的时候 union { TAILQ_ENTRY(event) ev_next_with_common_timeout;...

2020-02-09 09:54:16 83

原创 redis基本操作(五)

keys * : 所有的key值(支持模糊匹配)exists key: 判断key是否存在,存在返回1expire key time : 设置key的存活时间是time秒ttl key : 查看key的剩余时间persist key : 取消key的过期时间select num: 选择第num个数据库(0-15)mov key index : 把当前数据库中的key转移到第...

2020-02-08 10:10:33 19

原创 redis基本操作(四)

set 不允许重复sdd name value 往name这个set中添加元素valuesmembers name 打印name这个set的元素sinter set1 set2 : 返回set1和set2的交集sinterstore set3 set1 set2:把set1和set2的交集放到set3中sunion set1 set2 : 返回set1和set2的并集sun...

2020-02-07 10:19:54 21

原创 redis基本操作(三)

flushdb: 清空数据lpush name value : 往name这个栈结构中添加元素value(也可以认为是从list的头部添加数据)rpush name value : 往name这个队列结构中添加元素value(也可以认为是从list的尾部添加数据)lrange name 0 -1 : 从name这个结构中0位置到结束位置,遍历打印元素linsert name be...

2020-02-07 09:42:20 24

原创 redis基本操作(二)

Hash类型hset hashname key value 在hashname 这个hash集合中添加key-value键值对hget hashname key value 在hashname 这个hash集合中获取key对应的valuehashname 中可以保存多个key-value键值对上面的是单条进行操作,可以使用hmset 来 一次性执行多条操作hexistsha...

2020-02-06 09:29:40 35

原创 redis基本操作(一)

get xxx 得到xxx对应的valuesset key value 设置key对应的值是valuesetnx key value 如果key不存在那么就设置为value(返回1,表示成功),如果存在就不设置(返回0,表示失败)setex key time value 设置key对应的值为value,保存的时间为time时长,过了这个时间返回nilsetrange key p...

2020-02-06 08:49:25 23

原创 libevent 优先级源码

// 设置当前的baseintevent_priority_init(int npriorities){ return event_base_priority_init(current_base, npriorities);}// 设置base的优先级有几级,范围在0~npriorities-1之间,数值越小优先级越高int event_base_priority_init(st...

2020-02-01 12:37:46 28

原创 libevent的事件简单测试

#include <cstdio>#include <event2/event.h>#include <iostream>#include <cstring>#include <thread>using namespace std;struct timeval timeout = { 10, 0 };static ...

2020-01-31 20:11:49 21

原创 P3370 【模板】字符串哈希

题目描述如题,给定N个字符串(第i个字符串长度为Mi,字符串内包含数字、大小写字母,大小写敏感),请求出N个字符串中共有多少个不同的字符串。#友情提醒:如果真的想好好练习哈希的话,请自觉,否则请右转PJ试炼场:)输入格式第一行包含一个整数N,为字符串的个数。接下来N行每行包含一个字符串,为所提供的字符串。输出格式输出包含一行,包含一个整数,为不同的字符串个数。输入输...

2020-01-25 11:53:03 34

原创 libevent 过滤器

#include <event2/event.h>#include <event2/bufferevent.h>#include <event2/listener.h>#include <event2/buffer.h>#include <event2/util.h>#include <iostream>#inc...

2020-01-24 23:13:37 153

原创 libevent 中的bufferevent做server

#include <event2/event.h>#include <event2/bufferevent.h>#include <event2/listener.h>#include <iostream>#include <signal.h>#include <cstring>using namespace s...

2020-01-24 16:18:36 158

原创 libevent做一个简单的服务器应答程序

#include <iostream>#include <event2/event.h>#ifndef _WIN32#include <signal.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unist...

2020-01-24 08:40:02 2718

原创 functools 中的 partial的作用

看到有一句代码如下:from functools import partialmy_dense_layer = partial(tf.layers.dense, activation=tf.nn.elu, kernel_initializer=he_init, ...

2019-12-11 21:48:19 204

原创 带重复元素的排列

给出一个具有重复数字的列表,找出列表所有不同的排列。样例样例 1:输入:[1,1]输出:[ [1,1]]样例 2:输入:[1,2,2]输出:[ [1,2,2], [2,1,2], [2,2,1]]挑战使用递归和非递归分别完成该题。class Solution {public: /* * @param :...

2019-12-10 13:35:21 144

原创 除自身以外数组的乘积

给定长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明: 请不要使用除法,且在O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输...

2019-12-10 13:35:17 133

原创 linux bash shell 第二章

获取字符串的长度:VAR='HELLO WORLD'echo ${#VAR}12${#xxx}用于获取字符串的长度

2019-12-10 13:35:11 36

原创 linux bash shell 第一章

启动shell脚本方法:1.bash xxx.sh2.chmod +x xxx.sh (增加可执行权限)3.source test.sh变量的定义:1.普通变量的定义: aaa=num2.临时环境变量的定义: export aaa=num 利用export来声明一个环境变量3.变量的引用$aaa4.当用户退出终端之后所有的变量 都会被清除5.在当前s...

2019-12-10 13:35:07 37

原创 反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:...

2019-12-10 13:35:01 32

原创 存在重复元素

给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true来源:力扣(LeetCode)链接:htt...

2019-12-10 13:34:59 27

原创 搜索二维矩阵 II

编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17,...

2019-12-10 13:34:52 20

原创 赎金信

给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruct("a", "b...

2019-12-10 13:34:50 35

原创 找不同

给定两个字符串 s 和 t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那个被添加的字母。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-the...

2019-12-10 13:34:46 24

原创 找到所有数组中消失的数字

给定一个范围在1 ≤ a[i] ≤ n (n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]来源:力扣(Le...

2019-12-10 13:34:42 28

原创 二维网格迁移

给你一个 n 行 m 列的二维网格grid和一个整数k。你需要将grid迁移k次。每次「迁移」操作将会引发下述活动:位于 grid[i][j]的元素将会移动到grid[i][j + 1]。位于grid[i][m - 1] 的元素将会移动到grid[i + 1][0]。位于 grid[n - 1][m - 1]的元素将会移动到grid[0][0]。请你返回k...

2019-11-28 21:27:59 41

原创 搜索推荐系统

给你一个产品数组products和一个字符串searchWord,products数组中每个产品都是一个字符串。请你设计一个推荐系统,在依次输入单词searchWord 的每一个字母后,推荐products 数组中前缀与searchWord 相同的最多三个产品。如果前缀相同的可推荐产品超过三个,请按字典序返回最小的三个。请你以二维列表的形式,返回在输入searchWor...

2019-11-28 21:12:11 58

原创 统计参与通信的服务器

这里有一幅服务器分布图,服务器的位置标识在m * n的整数矩阵网格grid中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。示例 1:输入:grid = [[1,0],[0,1]]输出:0解释:没有一台服务器能与其他服务器进行通信。示例...

2019-11-28 20:39:08 38

原创 LCP 1. 猜数字

小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。示例 1:输入:guess = [1,2,3], answer = [1,2,3]...

2019-11-28 20:13:12 33

原创 二叉查找树中搜索区间

给定一个二叉查找树和范围[k1, k2]。按照升序返回给定范围内的节点值。样例样例 1:输入:{5},6,10输出:[] 5它将被序列化为 {5}没有数字介于6和10之间样例 2:输入:{20,8,22,4,12},10,22输出:[12,20,22]解释: 20 / \ 8 22 / \...

2019-11-27 17:00:16 105

原创 比特位计数

给定一个非负整数num。对于0 ≤ i ≤ num 范围中的每个数字i,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度为...

2019-11-27 17:00:12 26

原创 求众数 II

给定一个大小为n的数组,找出其中所有出现超过⌊ n/3 ⌋次的元素。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。示例1:输入: [3,2,3]输出: [3]示例 2:输入: [1,1,1,3,3,2,2,2]输出: [1,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majori...

2019-11-27 17:00:08 30

原创 寻找重复数

给定一个包含n + 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2)...

2019-11-27 17:00:05 29

原创 第三大的数

给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的...

2019-11-27 17:00:01 40

原创 字符串中的单词数

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string著作权归领扣网络所有。商业转载...

2019-11-27 16:59:56 41

原创 分糖果

给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最...

2019-11-27 16:59:52 34

树莓派下的opencv.rar

树莓派

2019-06-04

JDY-10M BLE组网模块手册.pdf

蓝牙mesh的官方文档

2019-05-30

张哲瑞的留言板

发表于 2020-01-02 最后回复 2020-01-29

空空如也
提示
确定要删除当前文章?
取消 删除