Firefox播放html5
firefox-linux 支持 html5 视频.
更新
1
19.01.30 初始
firefox-linux 支持 html5 视频.
更新
1 | 19.01.30 初始 |
补齐python3内容.
资料来源:
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
更新
1 | 2019.01.20 初始化,未完成. |
补齐python3内容.
资料来源:
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
更新
1 | 2019.01.17 初始化 |
使用 docker 运行 smokeping 服务,搭建个人的网络监控.
资料来源:
https://hub.docker.com/r/linuxserver/smokeping
https://tangxiaosu.com/deploy-smokeping-with-docker.html
https://cloud.tencent.com/developer/article/1025922
更新
1 | 19.01.13 初始化 |
Hexo + Next6 迁移 win -> linux .
更新
1 | 19.01.10 初始 |
vscode c语言在ubuntu windows下代码提示/补全,简单编译.
更新
1 | 18.03.24 ubuntu下代码提示/补全 |
记录学习数据结构的总结,希望可以不拘泥于细节和语言,重视应用与推演.
初步涉及KMP时,有些蒙蔽,还好遇到了 阮一峰 的讲解,才啃下来.博文图来自资料链接.
资料来源如下
搜索字符串时最常用的是暴力搜索,
以下是暴力搜素的C语言一个实现版本
1 | int ViolentMatch(char* s, char* p) |
对暴力搜索而言,整个流程上改进空间不大,主要集中在当搜索过程.见示例
可以看到整个搜索过程,最明显的一个缺陷是,搜索到模式字符串的中间很长一段了,遇到一个坏字符,目标字符串指针移位1.模式字符还是要从头开始比较,模式字符在上一轮坏字符之前的比较相当于白做了.
当空格与D不匹配时,前面六个字符是"ABCDAB"已知。KMP算法的想法是,设法利用这个已知信息,不要把"搜索位置" j
移回已经比较过的位置,而是继续把它向后移。
经过KMP处理六个字符已知字符串"ABCDAB"后,可以得到一个表格,对应模式字符串每一位可前移的位数.如图
于是整个过程优化如下.
j=2
j=0
对应c代码变化如下
最主要的变化是引入next[]数组(方便).
因为c语言数组元素由0开始,上文的表格右移一位.0位填充-1.得到next数组.
1 | int KMP(char * t, char * p) |
这里大量摘录了如何更好的理解和掌握 KMP 算法? - 海纳的回答 - 知乎的答案.
上文提及的表格即部分匹配表.
字符串的前缀和后缀。
PMT中的值是字符串的前缀集合与后缀集合的交集中最长元素的长度,如图
这里换一组字符串“abababca”
说明next数组求法
求next数组的过程完全可以看成字符串匹配的过程,即以模式字符串为主字符串,以模式字符串的前缀为目标字符串,一旦字符串匹配成功,那么当前的next值就是匹配成功的字符串的长度。
具体来说,就是从模式字符串的第一位(注意,不包括第0位)开始对自身进行字符串搜索(KMP)。 在任一位置,能匹配的最长长度(j值
)就是当前位置的next值。如下图所示。
如图
c语言实现
1 | void GetNext(char* p,int next[]) |
流程(部分):
回到字符串"ABCDAB",得到的next数组如下
当 j
沿着next[]数组回溯时,可能产生一种情况是:连续几次回溯到的字符相同,即连续几次比较了模式字符串里相同的字符.
如上一节流程部分.
未避免这种情况,可以对next[]数组回溯链上,连续相同的字符合并,直接取前一个字符对应位置next[]数组的值.由此产生的数组叫nextval数组
.
c代码实现:
1 | void GetNextval(char* p,int next[]) |
资料来源如下
编程环境
导语
编程环境
myprivacy测试中一些应用在进入第二个activity时时常闪退,爆出空对象错误.
1 | Attempt to invoke interface method 'boolean android.view.inputmethod.InputConnection.finishComposingText()' on a null object reference |
但本身Activity跳转之间并没有输入控件.
https://github.com/facebook/react-native/issues/18884
Advanced Profiling
即可,非代码错误用到的功能
python库
io
库即可numpy
库,大材小用matplotlib.pyplot
,大材小用按行读入
1 | with open(path,encoding='gbk') as f: |
得到一个list 统计
1 | print("数量",len(time)) |
画图
1 | #格式化转化为时间 |