经典算法梳理(4)KMP字符串匹配算法

KMP算法是经典的字符串匹配算法,比较难懂被人诟病。本文尝试深入浅出地描述KMP算法。字符串匹配,如图所示,在较长的字符串中,匹配找出,是否存在较短的的字符串。图示字符串匹配从第一个数字开始匹配。我们想想暴力算法如何匹配?第一个数字对齐,匹配7位,错误 ,移动到第二位继续之前的流程。。。很耗时间,能不能加速这个过程,就是KMP算法实现的KMP算法较为复杂的第一步:生成前缀数组 对于搜索词,我们...
分类: 编程语言 发布时间: 07-11 23:50 阅读次数: 0

苏嵌//张奇哲//2018.7.11

学习日志                                       姓名:张奇哲        日期:7.11        今日学习任务   1.     Linux程序调试工具gdb的基本使用与基础操作指令 2.     工程管理器make的基本使用 3.     企业级makefile的编写 今日任务完成情况   (详细说明本日任务是否按计划完成,开...
分类: 编程语言 发布时间: 07-11 23:50 阅读次数: 0

Vue中时间获取

    昨晚出了个bug,页面崩溃!我真是找bug找了将近一天,而且电脑卡了一整天,页面也崩溃了一整天,运行一会儿就崩了,到最后我发现,在任务管理器中Chrome浏览器占得内存都出现了几十万k,我真是找不出代码哪里有原因,最后只能一个组件一个组件的排查,当我把第一个时间组件先注释之后,内存立马被放空,**,原来是你!(这个组件同事写过了,说可以用,我也没咋看),最后发现似乎是个死循环?有大佬的话,...
分类: 编程语言 发布时间: 07-11 23:50 阅读次数: 0

.NET面试题系列(九)C# 结构体与类的区别

谈一下什么时候使用结构,什么使用类. 我们知道,结构存储在栈中,而栈有1个特点,就是空间较小,但是访问速度较快,堆空间较大,但是访问速度相对较慢.所以当我们描述1个轻量级对象的时候,可以将其定义为结构来提高效率.比如点,矩形,颜色,这些对象是轻量级的对象,因为描述他们,只需要少量的字段。当描述1个重量级对象的时候,我们知道类的对象是存储在堆空间中的,我们就将重量级对象定义为类. 他们都表示可以包含数据成员和函数成员的数据结构。与类不同的是,结构是值类型并且不需要堆分配。结构类型的变量直接包含结
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

Docker虚拟机实战

安装Docker虚拟机   ◆ 先更新yum软件管理器,然后再安装Docker    #更新yum软件管理器    yum -y update    #安装Docker    yum install -y docker #-y 代表选择程序安装中的yes选项 管理Docker虚拟机   ◆ 启动、关闭与重启    #启动Docker    service docker start    #关闭Docker    service docker stop    #重启Docker    servi
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

特性图

ContextMenuItem: ContextMenu: TextArea: Serializable: Flags:
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

苏嵌//张一林//2018.07.11

苏嵌                                                                                                                              项目实战学习日志                                     姓名:张一林       日期:07.11     ...
分类: 编程语言 发布时间: 07-11 23:49 阅读次数: 0

基于 java 【Web安全】文件上传漏洞

前言:web安全之文件上传漏洞,顺带讲一下目录遍历攻击。本文基于 java 写了一个示例。 原理   在上网的过程中,我们经常会将一些如图片、压缩包之类的文件上传到远端服务器进行保存。文件上传攻击指的是恶意攻击者利用一些站点没有对文件的类型做很好的校验,上传了可执行的文件或者脚本,并且通过脚本获得服务器上相应的权利,或者通过诱导外部用户访问、下载上传的病毒或木马文件,达到攻击的目的。   文件上传漏洞指攻击者利用程序缺陷绕过系统对文件的验证与处理策略将恶意程序上传到服务器并获得执行服务器端命令
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

职工信息管理系统代码及展示效果

充斥着颜文字的c语言课设作业,对一根链表进行操作,使其存入文件,环境是vc6.0 #include "stdafx.h" #include<stdio.h> #include<stdlib.h> #include<windows.h> typedef struct employee { int id; char name[10]; char sex[10]; char bir[10]; char pos[10]; char study[10]; float sal; struct employ
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

java内存管理之内存模型

1,运行时数据区域 1. 程序计数器 (program counter register) 2. Java虚拟机栈 (jvm stack) 3. 本地方法栈 (native method stack) 4. java堆 (heap) 5. 方法区(method area) 6. 运行时常量池 7. 直接内存 1. 程序计数器 (program counter register) 1.1 概念   程序计数器是一块较小的内存空间,可以把它看作当前线程正在执行的字节码的行号指示器。也就是说,程序计
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

Ansible lineinfile模块详解

目录 简介 修改匹配行 在匹配行前或后添加内容 在匹配行前添加 在匹配行后添加 修改文件内容及权限 删除一行内容 文件存在则添加一行内容 如果有匹配的行则修改该行,如果不匹配则添加 参数backrefs,backup说明 使用validate验证文件是否正确修改 简介 之所以专门说一说这个模块,是因为lineinfile在实际使用中非常有用。 实际上,在大多数时候,我们在linux上的操作,就是针对文件的操作,通过配置管理工具对配置文件作统一的配置修改是一个非常酷的功能。 下面是官方针对该模块
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

1044 火星数字(20)

火星人是以13进制计数的: 地球人的0被火星人称为tret。 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。 火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。 例如地球人的数字“29”翻译成火星文就是“hel mar”;而火星文“elo nov”对应地球数字“115”。为了方便交
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

windows 下 nginx 配置文件路径[转自网络]

nginx在windowns下路径 http{ #虚拟主机1 server{ listen 80; #监听端口,基于IP配置的时候变更此处,比如192.168.1.100:8080; server_name www.xdw.com; #主机域名,实际项目发布的话,填公网上的域名,本地部署的话,可以在C:\Windows\System32\drivers\etc\hosts文件中添加IP和域名的映射 location / { #映射解析,/代表根路径
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

1区块链底层技术-序

  每次在讲解区块链时,都会收到很多关于底层技术问题,感觉很有必要对区块链的底层技术进行分享,这也是我写这一系列文章的动力。   2015年接触比特币(可惜当时没有囤币),作为一个在IT行业摸爬滚打多年,并且是技术出身的人,成功的被比特币底层技术-区块链所吸引。区块链与其说是新兴技术,不如说是新的理念、新的概念或者说是一种架构应用,是对目前中心化系统存在问题的解决方案。   区块链涉及的技术都是很早就存在的,区块链把这些技术巧妙的结合在了一起,由于涉及到的知识领域比较多,从而增加了区块链的研发
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

Jenkins 集群搭建

一.前言 Jenkins是当下比较流行的一款功能强大的持续集成工具,它支持搭建集群,来提高多项目的构建速度,模式为主从模式,master会将任务分配到各个从节点进行并发构建,从而提高速度,下面介绍一下如何搭建Jenkins集群。 二.环境介绍 系统环境:CentOS 7.2 Jenkins版本:2.121.1 长期支持版 两台服务器,一台作为master,一台作为slave,设A为master,设B为slave。 关于Jenkins的安装,根据个人使用过一段时间来说,不推荐使用docker来安
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

计算购物车金额总和( jquery )

今天简单写了一个jq版购物车计算金额总和的例子,如图: 整体页面代码如下: <!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title></title> <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <style> *{ list-
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

数据分析与展示---Pandas库数据特征分析

说明:0轴axis=0和1轴axis=1 简介 一:数据的排序 二:数据的基本统计分析 三:数据的累积统计分析 四:数据的相关分析 一:数据的排序 0 1 2 3 4 a 0 1 2 3 4 b 5 6 7 8 9 c 10 11 12 13 14 d 15 16 17 18 19 4 3 2 1 0 a 4 3 2 1 0 b 9 8 7 6 5
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

将NodeList类数组转换为数组

由于 IE8 及更早版本将 NodeList实现为一个 COM 对象。要想在 IE 中将 NodeList 转换为数组,必须手动枚举所有成员。function convertToArray(nodes){ var array = null; try { array = Array.prototype.slice.call(nodes, 0); //针对非 IE 浏览器 } catch (e...
分类: 编程语言 发布时间: 07-11 23:49 阅读次数: 0

SpringMvc框架的HandlerMethodArgumentResolver

  待完善。
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0

LINUX安装NGINX[转自网络]

LINUX安装NGINX[转自网络] 安装依赖 yum install gcc yum install pcre-devel yum install zlib zlib-devel yum install openssl openssl-devel //一键安装上面四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 下载nginx的tar包 //创建一个文件夹 cd /usr/local mkdir
分类: 其他 发布时间: 07-11 23:49 阅读次数: 0