字符匹配:查找包含字符集的子串-和諧系統(tǒng)
[導(dǎo)讀]實(shí)現(xiàn)一個(gè)挺高級(jí)的字符匹配算法:
給一串很長(zhǎng)字符串,要求找到符合要求的字符串,例如目的串:123,1******3*****2,12******3這些都要找出來(lái)
其實(shí)就是一些和諧系統(tǒng)。。
與此題類似:給
實(shí)現(xiàn)一個(gè)挺高級(jí)的字符匹配算法:
給一串很長(zhǎng)字符串,要求找到符合要求的字符串,例如目的串:123,1******3*****2,12******3這些都要找出來(lái)
其實(shí)就是一些和諧系統(tǒng)。。
與此題類似:給一個(gè)很長(zhǎng)的字符串str, 還有一個(gè)字符集比如{a,b,c},找出str包含{a,b,c}的最短子串,要求O(n)。
/*
用兩個(gè)變量 front,rear 指向一個(gè)的子串區(qū)間的頭和尾(當(dāng)然,開始時(shí)front和rear都指向字符串開始處)。
用一個(gè)int cnt[255]={0}記錄當(dāng)前這個(gè)子串里字符集a,b,c各自的個(gè)數(shù),一個(gè)變量count記錄字符集里有多少個(gè)了
rear 一直加,更新cnt[]和count的值,直到count等于字符集個(gè)數(shù)
然后front++,直到cnt[]里某個(gè)字符個(gè)數(shù)為0(front 開始的部分有可能和后面的重復(fù),所以front要加到某個(gè)字符個(gè)數(shù)為0),
這樣就找到一個(gè)符合條件的字串了,繼續(xù)下去,可以求出所有符合條件的串,同時(shí)可以求出滿足條件最短子串
*/
#include
using namespace std;
void MinSubString( char *src, char *des )
{
int min=1000;//找最短子串
int minfront=0;//最短子串開始位置
int minrear=0;//最短子串結(jié)束位置
int front,rear;
front=rear=0;
int len=strlen(des);
int hashtable[255]={0};
int cnt[255]={0};
int cnt2[255]={0};
for(int i=0; i
感谢您访问我们的网站,您可能还对以下资源感兴趣:
日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话
a∨无码视频手机版|黄色一级免费电影大全|国产福利视频导航|91大神在线精品|亚洲成人a片亚洲系列第一页|免费一级性爱大片|AA级黄色一级特黄成人大片|国产一区二区羞羞乱伦|人妻综合视频成人综合导航、|爱爱视频亚洲丝袜内射
国产一级片子色色亚洲网|日a在线播放国产熟妇性爱网|日本欧美成人电影|国产毛毛浓密茂盛AA性视频|日韩2024无码|欧美黄片免费看毛片电影|国产又大又粗又硬|最新国产黄色大片|日本亚洲三级视频|亚洲va欧美ⅴa在线
成人AV一区国内性视频|轮奸超碰精品福利|另类性爱亚洲性爱手机版|在线观看黄片一区|亚洲精品AⅤ一区二|久久亚洲婷婷五月婷a|99热这就是精品|日韩国产无码网址|日本不卡A V一区|99青草国产精品视频无码一区
