- 博客(7)
- 资源 (7)
- 收藏
- 关注
原创 不让控制台程序运行时显示dos界面
华电北风吹 日期:2016/2/29目前看到了有两种方法: 一、引用Windows.h#include "stdafx.h"#include <Windows.h>int main(int argc, _TCHAR* argv[]){ FreeConsole(); return 0;}二、使用#progma#pragma comment( linker, "/subsys
2016-02-29 10:04:35 1614
原创 算法导论—Boyer-Moore(BM)算法
华电北风吹日期:2016/2/25BM算法精要: BM算法比KMP更高效。KMP是基于对匹配字符串挨个比较,而且对于某些前缀字符串对应的字符可能比较的次数要不止一次。BM的思路是构造坏字符规则和好后缀规则,每一次尽量多的过滤掉不用匹配的那些字符。参考资料: 字符串匹配的Boyer-Moore算法 BM算法详细图解参考代码: 本文写的这个BM实现比较
2016-02-26 17:35:45 1458
原创 算法导论—KMP
华电北风吹 日期:2016/2/24KMP精要: KMP在进行朴素匹配时,如果发现不匹配字符时,通过对已经匹配的那部分字符串的最大前缀来快速找到下一个模式串需要匹配的位置。KMP对模式进行预处理时间复杂度O(m),匹配时间复杂度O(n),总的KMP时间复杂度为O(m+n)。参考资料: 关于kmp原理讲解具体可以参考字符串匹配的KMP算法— 阮一峰参考代码:#include <iostream
2016-02-25 10:46:10 2023
原创 数组中缺失的最小正整数
华电北风吹日期:2016/2/24题目链接: https://leetcode.com/problems/first-missing-positive/题目描述: 对一个未排序的数组,找出缺失的最小正整数。 例如,对于数组[1,2,0]返回3;对于数组[3,4,-1,1]返回2。 算法时间复杂度应该为O(n)和常数的空间复杂度。解析: 一、如果数
2016-02-24 17:23:47 4853
原创 算法导论—最长公共子序列
华电北风吹日期:2016/2/24问题描述: 给定两个序列X=(x1,x2,...,xm)X=(x_1,x_2,...,x_m)和Y=(y1,y2,...,yn)Y=(y_1,y_2,...,y_n),求XX和YY的长度最长的公共子序列。 子序列:给定一个序列X=(x1,x2,...,xm)X=(x_1,x_2,...,x_m),若另一个序列Z=(z1
2016-02-24 13:08:21 693
原创 算法导论—最长公共子串
华电北风吹日期:2016/2/22题目描述: 找两个字符串的最长公共子串是一个很简单的问题,注意这里的子串必须连续。解题思路: 例如对于字符串abcb和字符串cbc可以构建如下二维矩阵,匹配为1不匹配为0即可。这样直接看主对角线上连续1的最大长度即可。 c b c a 0 0 0 b 0 1 0 c 1 0 1
2016-02-22 21:22:50 774
原创 算法导论—最长递增子序列
华电北风吹日期:2016/2/20问题描述: 例如数组arr=[1,5,8,2,3,4]的最长递增子序列是1,2,3,4动态规划求解。对于数组中的每个元素,从前往后计算每个元素的状态——到这个元素为止所构成的最长递增子序列。时间复杂度Θ(n2)\Theta (n^2)。 参考代码:#include <iostream>#include <fstrea
2016-02-20 23:19:14 716
nature 非负矩阵分解 1999
2016-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人