学习笔记之TAOCP--字符串是否包含问题(学习“结构之法”博客)
来源:互联网 发布:淘宝降价通知如何设置? 编辑:程序博客网 时间:2024/05/21 07:51
字符串是否包含问题:
str1:"abcdefgh"
str2:"hgbsc"
即判断str2是否被str1包含的问题。此问题如果不考虑复杂度的问题, 用最基本的方法即循环搜索的方式即可暴力求解。但其效率相对低下。
在看“结构之法”的博客中有种将其映射为hashTable的方式能够在访问每个字母一次的情况下给出解答,较高效。
代码如下:
int main(){string str1="ABCDEFGHLMNOPQRS";string str2="DCGSRQPOM";int hash[26]={0};int num=0;for(int j=0;j<str2.length();j++){int index=str2[j]-'A';if(hash[index]==0){hash[index]=1;num++;}}for(int j=0;j<str1.length();j++){int index =str1[j]-'A';if(hash[index]==1){hash[index]=0;num--;if(num==0) break;}}if(num==0)cout<<"true"<<endl;else if(num>0)cout<<"false"<<endl;return 0;}
还有一种基于素数乘法的算法,感觉这思维太活跃了。特记录此贴,以供自己学习。
- 学习笔记之TAOCP--字符串是否包含问题(学习“结构之法”博客)
- 学习笔记之TAOCP--字符串查找(学习“结构之法”博客)
- 程序员编程艺术学习笔记(二)字符串是否包含问题
- 算法学习之字符串包含
- 学习笔记之字符串学习
- <C#入门经典>学习笔记之结构、数组及字符串
- 【July程序员编程艺术】之字符串是否包含问题
- 编程之美:第三章 结构之法 3.1字符串移位包含的问题
- C++学习笔记之结构
- 黑马程序员技术博客之交通灯问题学习笔记
- c语言学习笔记之文件包含
- css学习笔记之包含块
- 博客笔记 字符串是否包含及匹配/查找/转换/拷贝问题
- 数据结构——算法之(011)( 字符串是否包含问题)
- Java学习笔记之字符串(六)
- Swift学习笔记之字符串(二)
- Swift学习笔记之字符串(总结)
- JAVA学习笔记之(字符串)
- pthread_join函数及linux线程
- Accelerrated C++ Exercise 3-2
- 有关引用和别名以及指针之间的关联和区别
- C中常用各种转义字符及含义
- java的同步三种方式--银行取钱问题
- 学习笔记之TAOCP--字符串是否包含问题(学习“结构之法”博客)
- android 使用TextView/EditText应该注意的地方
- 读写config,xml配置文件
- 2013-11-04 思考总结
- OpenCV图像的轮廓的匹配
- android之路我会一直走下去
- WOW技术-----1, 模型的高光
- 困惑
- uva 11125 - Arrange Some Marbles(记忆化搜索)