字符串是否包含的问题
来源:互联网 发布:费米估算知乎 编辑:程序博客网 时间:2024/05/12 22:53
//先进行排序bool compare(string &s1, string &s2){ int i = 0; int j = 0; sort(s1.begin(), s1.end()); sort(s2.begin(), s2.end()); //下面是线性扫描时间复杂度为O(M+N),因为其已经排序好了 while (i < s1.length() && j < s2.length()) { while (s1[i] < s2[j] && i < s1.length() - 1) i++;//直到找出不小于s2的元素 if (s1[i] != s2[j]) return false; j++; } if (j == s2.length()) return true; else return false;}//哈希表的方法//考虑的是大写的元素//时间复杂度为O(n),空间复杂度O(n)bool compare1(string &s1, string &s2){ int hash[26] = { 0 }; int index = 0; int num = 0; //扫描短的字符串 for (int i = 0; i < s2.length(); i++) { int index = s2[i] - 'A';//变成int类型 if (hash[index] == 0) { hash[index] = 1; num++;//即看hash表中存放了多少个字母 } } for (int i = 0; i < s1.length(); i++) { index = s1[i] - 'A'; if (hash[index] == 1) { num--; if (num == 0)//表示所有的s2中字母在s1中都找到了 break; } } if (num == 0) return true; else return false;}
0 0
- 字符串是否包含的问题
- 字符串是否包含问题
- 字符串是否包含问题
- 字符串是否包含问题
- 字符串是否包含问题
- 两个字符串是否包含的问题
- 一个字符串是否包含另一个字符串的问题
- 两个字符串是否包含问题
- 【算法】字符串是否包含问题
- 一道俩个字符串是否包含的问题
- 一道俩个字符串是否包含的问题
- 第二章、字符串是否包含问题
- 字符串是否包含问题利用素数求解
- 第二章:字符串是否包含问题
- 第二章_字符串是否包含问题
- 【每日一题】字符串是否包含问题
- 字符串是否包含问题及扩展
- 字符串的包含问题
- c++ 复制控制和智能指针实现
- 编程规范 --- 质量保证
- Ubuntu 入门(2):配置 Java 环境变量 及 设置默认JDK
- Latex:表格制作全攻略
- MFC apps must not #include <windows.h>
- 字符串是否包含的问题
- LCA(lowest common ancestor)问题
- SOAPUI SSL 设置
- 在LaTeX文档中插入图片的几种常用的方法
- 小东分苹果
- Linux驱动学习相关记录笔记
- 10.3.4节练习
- hdu 2894 DeBruijin【Dfs】
- 调用手机摄像头拍照和从图库中选取照片以及得到照片后的备份