自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(395)
  • 资源 (6)
  • 收藏
  • 关注

原创 有限自动机字符串匹配

引言:本文参考自《算法导论》中 “32.3 利用有限自动机进行字符串匹配” ,其目的不仅仅是为了改善常规算法的时间复杂度问题,更是为了给在解决类似情况提供一个有限自动机方案的参考。很多字符串匹配算法都要建立一个有限自动机,它是一个处理信息的简单机器,通过对文本字符串 T 进行扫描,找出模式 P 的所有出现位置。这些字符串匹配的自动机都非常有效:它们只对每个文本字符检查一次,并且检查每个文...

2019-12-25 11:15:23 1977 2

原创 c++ 之STL算法总览

表格中将所有的 STL 算法的名称、用途、文件分布等等,依算法名称的字母顺序列表。表格中凡是不在 STL 标准规格之列的 SGI 专属算法,都以 * 加以表示。算法名称算法用途质变所在文件accumulate元素累计否<stl_numeric.h>adjacent_difference相邻元素的差额是 if in-place<s...

2019-11-03 23:00:18 260

原创 C++实现Windows上的2048小游戏

学习于牛客网,小有改动:https://www.nowcoder.com/project/index/8一、依赖库:linux:apt-get install libncurses5-devMac: brew install ncurseswindows:安装编译器MinGW下载mingw-w64-install.exe 5.0.4版本,解压到本地目录,然后把C...

2019-09-24 11:03:06 1152 2

原创 KMP算法解析

一、简介KMP 算法是用来求一个较长字符串是否包含另一个较短字符串的算法,其中难点在于求解 next 数组。二、next 数组含义next 数组含义为:如果匹配到该字符时失败,回溯的位置。strabaabcacpos01234567next-10011201其中,next 数组首位设置为-1,意味着首位匹...

2019-09-10 22:57:54 216

原创 c++ 之字节对齐(全)

一、类型字节数系统平台16位32位64位char111short222int244unsigned int244float444double888long448unsigned long448long long888*248

2019-09-10 12:58:45 2475

原创 Ubutun16.04下Opencv3.4.0与Tensorflow C++ API联调

一、参考文档我的前两篇博客中,分别介绍了Ubuntu16.04下Opencv3.4.0的编译以及Tensorflow C++ API的编译。这篇文章就来讲一下,如何联调编译以及写对应的Cmakelist.txt文件。参考链接:https://blog.csdn.net/qq_30534935/article/details/96023523https://blog.csdn.net/qq...

2019-07-18 22:30:33 217

原创 Ubuntu16.04 编译 Opencv3.4.0

参考文献:https://blog.csdn.net/qq_33431368/article/details/84754421https://www.jianshu.com/p/f646448da265https://blog.csdn.net/u013066730/article/details/79411767https://blog.csdn.net/u013066730/artic...

2019-07-17 20:35:09 865

原创 Ubuntu16.04下C++编译Tensorflow以及API使用

参考文章:https://blog.csdn.net/qq_29462849/article/details/84986592https://blog.csdn.net/qq_25109263/article/details/81285952https://blog.csdn.net/zwx1995zwx/article/details/79064064文章简介:我们一般使用python...

2019-07-16 13:27:13 1068 2

原创 Ubuntu16.04建立共享文件夹

其实,即使共享文件夹没有开启,传递文件仍可以使用拖拽进出虚拟机的方式。另外,默认剪切板共享也是开启的。在宿主系统复制的东西可以在ubuntu里边粘贴。一、共享文件夹建立在虚拟机设置 -> 文件夹共享,选择总是启用,点击添加:直接点击下一步:选择原系统共享文件夹位置,并命名:选择启用此共享,并继续:二、VMtools安装虚拟机菜单栏 -> 虚拟机 -&gt...

2019-07-13 19:33:58 15509 5

原创 Python爬取百度百科1000个页面的数据

# _*_ coding:utf8 _*_import urllib.requestimport urllib.parsefrom bs4 import BeautifulSoupimport reclass UrlManager(object): def __init__(self): self.new_urls = set() self....

2019-06-28 16:34:47 411

原创 c++ 之vector用法

本文以int类型为例,其他类型大同小异-一、定义及初始化vector&amp;amp;lt;int&amp;amp;gt; vec; //声明一个int型向量vector&amp;amp;lt;int&amp;amp;gt; vec(8); //声明一个初始大小为8的int向量vector&amp

2018-09-03 23:57:34 7864 4

原创 c++中string的用法

一、初始化初始化有两种方式,其中使用等号的是拷贝初始化,不使用等号的是直接初始化。string str1 = &amp;amp;amp;amp;amp;amp;amp;quot;hello world&amp;amp;amp;amp;amp;amp;amp;quot;; //str1 = &amp;amp;amp;amp;amp;amp;amp;quot;hello world&amp;amp;amp;amp;amp;amp;amp;quot;s

2018-09-01 14:21:22 48554 12

转载 Ubuntu 配置镜像文件(清华)

转载:https://blog.csdn.net/lxlong89940101/article/details/83868651一、流程介绍Ubuntu 的软件源配置文件是 /etc/apt/sources.list。在修改之前,先将系统自带的该文件做个备份,将该文件替换为清华源官网提供的内容。即可使用 TUNA 的软件源镜像,最重要的是使用清华源可以走 ipv6。清华源官网:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/二、登录与备.

2020-11-29 16:17:04 1289

原创 买卖股票最佳时期系列

代码已在 leetcode 上验证通过。通解方式,学习:https://leetcode-cn.com/circle/article/qiAgHn/T[i][k][0] = max(T[i - 1][k][0], T[i - 1][k][1] + prices[i])T[i][k][1] = max(T[i - 1][k][1], T[i - 1][k - 1][0] - prices[i])121.买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你.

2020-08-27 10:58:23 417 2

原创 容器接水/矩形面积最大系列

代码已在 leetcode 上验证通过。11.盛最多水的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。class Solution {public: int maxArea(vector<int>& height) { int l = 0, r .

2020-08-20 15:41:45 498

原创 跳跃游戏系列

代码已在 leetcode 上验证通过。55.跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。class Solution {public: bool canJump(vector<int>& nums) { int maxCnt = 0; for (int i = 0; i < nums.size(); i++) {.

2020-08-19 22:23:25 472

原创 只出现一次的数字系列

代码已在 leetcode 上验证通过。136. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。class Solution {public: int singleNumber(vector<int>& nums) { int res = 0; for (int i = 0; i < nums.size(); i++) res = res ^ nums[i];.

2020-08-09 11:28:03 231

原创 限制条件下计算累加和

Question:求 1+2+…+n ?要求不能使用乘除法、for、while、if、else、switch、case 等关键字。ps: 代码无误,但运行则需要自行整理(没错,我就是懒得整理)。.No.0 三目运算符class Solution {public: int sumNums(int n) { return n==0 ? 0 : n+sumNums(n-1); }};No.1 或断路class Solution {public: .

2020-08-07 10:17:46 883 2

原创 C++ 之list用法

使用 list 时,需包含有文件< list>.一、定义及初始化// 默认构造函数,长度为0 list<int> lis1; // 定长构造函数及初始值 list<int> lis2(50); list<int> lis3(50,1); // 复制构造函数 list<int> lis4(lis3); list<int> lis5(lis3.begin(),lis3.end());二、赋值(assig

2020-07-12 17:34:24 1372

原创 Redis 入门指南

一、简介Redis 是一个开源的、高性能的、基于键值对的缓存和存储系统,通过多种键值数据类型来适应不同场景下的缓存和存储需求。Redis 是一个高性能的键值对数据库,相比于其他键值对缓存产品,有以下特点:支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。不仅仅支持简单的键值对类型数据,同时还提供 list、set、zset、hash 等数据结构的存储。...

2020-02-25 23:19:31 290

原创 二分法查找

一、简介二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。二分法查找的思路如下:(1)首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。(2)如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的那一半区域查找,然后重复步骤(1)的操作。(3)如果某一步数组为空,则表示找不到目标元素。二分法查找的时间复杂度O(lo...

2020-01-02 21:55:39 276

原创 鸟哥的Linux私房菜:5、Linux系统管理员

第 17 章、认识系统服务早期的服务管理使用 systemV 的机制,透过 /etc/init.d/*, service, chkconfig, setup 等指令来管理服务的启动关闭/预设启动。从 CentOS7.x 开始,采用 systemd 的机制,此机制最大功能为平行处理,并采单一指令管理(systemct),开机速度加快!systemd将各服务定义为 unit, 而...

2019-12-10 20:17:13 447

原创 鸟哥的Linux私房菜:4、Linux使用者管理

第 13 章、Linux 账号管理与 ACL 权限设置Linux 操作系统上面,关于账号与群组,其实记录的是 UID/GID 的数字而已。使用者的账号/群组与 UID/GID 的对应,参考 /etc/passwd 及 /etc/group 两个文件。/etc/passwd 文件结构以冒号隔开,共分为七个字段,分别是「账号名称、密码、UID、GID、全名、家目录、shell」。...

2019-12-10 19:14:33 241

原创 鸟哥的Linux私房菜:3、学习shell与shell script

第 9 章、vim 程序编辑器Linux 底下的配置文件多为文本文件,故使用 vim 即可进行设定编辑。vim 可视为程序编辑器,可用以编辑 shell script, 配置文件等,避免打错字。vi 为所有 unix like 的操作系统都会存在的编辑器,且执行速度快速。vi 有三种模式,一般指令模式可变换到编辑与指令列模式,但编辑模式与指令列模式不能互换。常用的...

2019-12-10 17:25:10 573

原创 鸟哥的Linux私房菜:2、Linux文件、目录与磁盘格式

第 5 章、Linux 的文件权限与目录配置Linux 的每个文件中,可分别给予使用者、群组与其他人三种身份个别的 rwx 权限。群组最有用的功能之一,就是当你在团队开发资源的时候,且每个账号都可以有多个群组的支持。利用 ls-l 显示的文件属性中,第一个字段是文件的权限,共有十个位,第一个位是文件类型,接 下来三个为一组共三组,为使用者、群组、其他人的权限,权限有 r,w,...

2019-12-10 16:04:07 169

原创 鸟哥的Linux私房菜:1、Linux的规则与安装

第 0 章、计算机概论计算器的定义为: [接受用户输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息」;计算机的五大单元包括:输入单元、输出单元、控制单元、算数逻辑单元、记忆单元五大部分。其中CPU占有控制、算术逻辑单元,记忆单元又包含主存储器与辅助内存;数据会流进/流出内存是CPU所发布的控制命令,而CPU实际要处理的数据则完全来自于主存储器...

2019-12-10 15:41:16 301

原创 虚拟机安装 Centos 7.0

一、安装包下载官网:https://www.centos.org/download/ 国内镜像源:http://man.linuxde.net/download/CentOS http://mirrors.btte.net/centos/7/isos/x86_64/ http://mirrors.cn99.com/centos/7/isos/x86_64/ http://mir...

2019-11-26 22:43:45 186

原创 深入理解计算机系统

第 1 章、计算机系统漫游计算机系统是由硬件和系统软件组成的,它们共同协作以运行应用程序。计算机内部的信息被表示为一组组的位,它们依据不同的上下文又有不同的解释方式。程序被其他程序翻译成不同的形式,开始时是 ASCII 文本,然后被编译器和链接器翻译成二进制可执行文件。处理器读取并解释存放在主存里的二进制指令。因为计算机花费了大最的时间在存储器、 I/O 设备和 CPU 寄存器之间拷贝数...

2019-11-24 16:37:09 630

原创 数据库系统概念

第 1 章、引言数据库管理系统由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。这些数据用以描述某个特定的企业。DBMS 的基本目标是要提供一个可以让人们方便地、高效地存取信息的环境。数据库系统用于存储大量信息。对数据的管理既涉及到信息存储结构的定义,又涉及到信息操作机制的提供。另外,数据库系统还必须提供所存储数据的安全性保证。即使在系统崩溃或有人企图越权访问时也应如此。如果数...

2019-11-24 14:45:15 1013

原创 直方图均衡化

效用:直方图是多种空域处理技术的基础,直方图操作能有效地用于图像增强。原理:对图像进行非线性拉伸,使得变换后的图像直方图分布均匀。计算步骤:1)计算原图像的直方图2)根据直方图计算各灰度出现的概率3)计算原图象的关于各个灰度级的累积分布函数4)根据公式求取像素映射关系5)灰度映射代码 1://不支持OpenCV的ROIvoid GetHistogram(const ...

2019-11-23 22:48:37 218

原创 MySQL 必知必会

第 1 章、了解 SQL这一章介绍了什么是 SQL 以及它为什么很有用。因为 SQL 是用来和数据库打交道的,所以,我们也复习了一些基本的数据库术语。第 2 章、MySQL 简介本章介绍了什么是 MySQL,并引入了几个客户机实用程序(一个命令行实用程序,两个可选但强烈建议使用的图形实用程序)。第 3 章、使用 MySQL本章介绍了如何连接和登录 MySQL,如何用 USE 选择数...

2019-11-17 11:23:08 143

原创 计算机网络

第 1 章、基础OSI 七层模型:物理层:处理通信链路上原始比特的传输。数据链路层:收集比特流形成一个更大的集合体,称为帧。网络层:处理分组交换网内节点的路由,节点间交换的数据单元称为分组。传输层:实现进程到进程的信道,交换的数据单元称为消息。会话层:提供命名空间,用来将应用个部分不同的传输流联系在一起。表示层:关注对等实体间交换的数据的格式。因特网体系结构:第一层:多种网...

2019-11-17 11:22:50 150

原创 TCP / IP 详解

第 1 章、概述OSI 模型:物理层、链路层、网络层、传输层、会话层、表示层、应用层第 2 章、Internet 地址结构RFC5952 规则:前导的 0 必须压缩。:: 只能用于影响最大的地方。a 到 f 的十六进制数字应该用小写。IPv4 地址划分:A类、网络号(8位 - 0)、主机(24位)B类、网络号(16位 - 10)、主机(26位)C类、网络号(24位 ...

2019-11-17 11:22:33 257

原创 STL 源码剖析:8、配接器

配接器在 STL 组件的灵活组合运用功能上,扮演着轴承、转换器的角色。Adapter 这个概念,事实上是一种设计模式。《Design Patterns》一书提到 23 个最普及的设计模式,其中对 adapter 样式的定义如下:将一个 class 的接口转换为另一个 class 的接口,使原本因接口不兼容而不能合作的 classes,可以一起运作。8.1 配接器之概观与分类STL 所提...

2019-11-03 21:15:34 153

原创 STL 源码剖析:7、仿函数

历经前数章的 memory pool、iterator-traits、type_traits、deque、RB-tree、hash table、QuickSort、IntroSort … 的复杂洗礼与无情轰炸,你的脑袋快吃不消了吧。这一张是轻松小菜,让我们在此稍事停顿,修生养息。7.1 仿函数概观就实现观点而言,仿函数其实上就是一个 “行为类似函数” 的对象。为了能够 “行为类似对象”...

2019-11-03 17:58:17 172

原创 STL 源码剖析:6、算法

6.1 算法概观以有限的步骤,解决逻辑或数学上的问题。6.1.1 算法分析与复杂度表示6.1.2 STL 算法总览6.1.3 质变算法会改变操作对象的值。6.1.4 非质变算法不改变操作对象的值。6.1.5 STL 算法的一般形式所有的泛型算法的前两个参数都是一堆迭代器,通常称为 first 和 last。6.2 算法的泛化过程关键在于,只要把操作对象的型别加以抽象...

2019-11-03 11:15:41 173

原创 STL 源码剖析:5、关联式容器

标准的STL关联式容器分为 set 和 map 两大类,以及这两大类的衍生体 multiset 和 multimap。这些容器的底层机制均以 RB-tree 完成。RB-tree 也是一个独立容器,但并不开放给外界使用。此外,SGI STL 还提供了一个不在标准规格之列的关联式容器:hash table,以及以此 hash table为底层机制而完成的 hash_set、hash_ map、h...

2019-11-01 22:59:47 149 1

原创 STL 源码剖析:4、序列式容器

4.1 容器的概观与分类常用的数据结构不外乎 array (数组)、list (链表)、tree (树)、stack (堆栈)、queue (队列) . hash table (散列表)、set (集合)、map (映射表) 等等。根据 “数据在容器中的排列” 特性,这些数据结构分为序列式 (sequence) 和关联式 (associative) 两种。4.1.1 序列式容器所谓序列式...

2019-11-01 19:11:19 157

原创 STL 源码剖析:3、迭代器概念与 traits 编程技法

迭代器(iterator)是一种抽象的设计概念,现实程序语言中并没有直接对应于这个概念的实物。《Design Patterns》一书提供有 23 个设计模式的完整描述,其中 iterator 模式定义如下:提供一种方法,使之能够依序巡防某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达式。3.1 迭代器设计思维 —— STL关键所在不论是泛型思维或 STL 的实际运用,迭...

2019-10-31 22:53:08 251

原创 STL 源码剖析:2、空间配置器

以 STL 的运用角度而言,空间配置器是最不需要介绍的东西,它总是隐藏在一切组件(更具体地说是指容器,container)的背后,默默工作,默默付出,但若以STL的实现角度而言,第一个需要介绍的就是空间配置器,因为整个 STL 的操作对象(所有的数值)都存放在容器之内,而容器一定需要配置空间以置放资料。不先掌握空间配置器的原理,难免在阅读其它STL组件的实现时处处遇到挡路石。为什么不说 all...

2019-10-31 22:37:59 149

zbar64-0.10 库文件

64位zbar库,可用于自行编译64位Zbar(解决中文乱码需要重新编译),含sln文件,可使用VS2013等进行编译。

2019-03-27

zbar-0.10 库文件

32位zbar库,可用于自行编译32位Zbar(解决中文乱码需要重新编译),含configure编译工具,可使用MinGW进行编译。

2019-03-27

libiconv-1.11.1

libiconv文件,编译所需,经本人验证可用于32位zbar编译(使用MinGW)

2019-03-27

libzbar64-0.dll

zbar的64位动态链接库libzbar64-0.dll,通过编译解决了中文乱码问题。

2019-03-27

libzbar-0.dll

32位zbar的动态链接库libzbar-0.dll,通过编译源码解决了中文乱码问题。

2019-03-27

Deep_Learning_with_Python_Keras PDF高清版

深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。

2018-10-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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