第02章:字符串是否包含
【最优解法】
我们假设字母都由大写字母组成……,我们先对小字符串预处理,
可以得到B 里包含哪些字符,这里可以用位运算,或者用bool 数组。位运算简
单些,用一个int 中的26bit 表示其是否在B 中出现即可。
bool AcontainsB(char *A,char *B) {
int have = 0;
while (*B) {
have |= 1 << (*(B++) - 'A'); // 把A..Z 对应为0..26
}
while (*A) {
if ((have & (1 << (*(A++) - 'A'))) == 0) {
return false;
}
}
return true;
}
思路总结如下:
1.定义最小的26 个素数分别与字符'A'到'Z'对应。
2.遍历长字符串,求得每个字符对应素数的乘积。
3.遍历短字符串,判断乘积能否被短字符串中的字符对应的素数整除。
4.输出结果。
上述程序待改进的地方
1.只考虑大写字符,如果考虑小写字符和数组的话,素数数组需要更多素数
2.没有考虑重复的字符,可以加入判断重复字符的辅助数组。
大整数除法的代码,后续公布下载地址。
转载于:https://www.cnblogs.com/lsx1993/p/4841568.html
第02章:字符串是否包含相关推荐
- 程序员编程艺术:第二章、字符串是否包含问题
程序员编程艺术:第二章.字符串是否包含及相关问题扩展 作者:July,yansha. 时间:二零一一年四月二十三日. 致谢:老梦,nossiac,Hession,Oliver,luuillu,雨翔,啊 ...
- 第02章 PyTorch基础知识
文章目录 第02章 Pytorch基础知识 2.1 张量 2.2 自动求导 2.3 并行计算简介 2.3.1 为什么要做并行计算 2.3.2 CUDA是个啥 2.3.3 做并行的方法 补充:通过股票数 ...
- Think in Java第四版 读书笔记7第13章 字符串
本章内容 1.string的基本使用 2.string拼接符 + 3.Object方法toString 4.String的常用方法 5.String的格式化输出 6.正则表达式 13.1 不可变字符串 ...
- 《Pandas Cookbook》第02章 DataFrame基本操作
第01章 Pandas基础 第02章 DataFrame运算 第03章 数据分析入门 第04章 选取数据子集 第05章 布尔索引 第06章 索引对齐 第07章 分组聚合.过滤.转换 第08章 数据清理 ...
- 第02章_MySQL环境搭建
第02章_MySQL环境搭建 1. MySQL的卸载 步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务.按键盘上的"Ctrl + Alt + Delete"组合 ...
- 《Java编程思想》读书笔记 第十三章 字符串
<Java编程思想>读书笔记 第十三章 字符串 不可变String String对象是不可变的,每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以及包含修 ...
- 《Java从小白到大牛》之第9章 字符串
<Java从小白到大牛>纸质版已经上架了!!! 由字符组成的一串字符序列,称为"字符串",在前面的章节中也多次用到了字符串,本章将重点介绍. Java中的字符串 Jav ...
- Python第三章-字符串
第三章 字符串 3.1 基本字符串操作 Python的字符串和元组差不多,是不可以进行改变的,如果想改变值,可以尝试list序列化之后在进行修改. { website = 'http://ww ...
- 零基础学Python(第十一章 字符串处理)
本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章内容为: ...
- 第4章 字符串和格式化输入/输出
学习笔记--<C Primer Plus> 第4章 字符串和格式化输入/输出 4.1 前导程序 4.2 字符串简介 4.2.1 char 类型数组和 null 字符 4.2.2 使用字符串 ...
最新文章
- matlab在输电线路故障测距中应用,Matlab在输电线路故障测距中的应用.doc
- 程序员,Mybatis 你踩过坑吗?
- pythonanywhere使用:进入虚拟机及修改django项目的css样式
- 三维重建 几何方法 深度学习_Occupancy Networks:基于学习函数空间的三维重建表示方法...
- MapReduce算法–了解数据连接第二部分
- windows mysql is read only_mysql中Table is read only错误解决方法(转载)
- 1.6编程基础之一维数组_04数组逆序重放
- csdn2020年度博客之星 - 直播间(恭喜圆满结束)
- android按钮怎么事件监听,android 通过监听edittext实现button的点击事件
- Atitit 人工智能体系树培训列表应用较为广泛的技术.docx Atitit 人工智能体系培训列表 目录 1. 1.NLP自然语言处理文本处理	2 1.1. 语言理解 分词	2 1.2. 抽取
- 中国行政村边界数据、乡镇街道边界
- android ios开发难度对比,ios VS android:这不就是简洁与复杂最明显的对比
- Excel数据分析入门-数据透视表
- Unity镜头光晕模拟开源库
- Git :error: You have not concluded your merge (MERGE_HEAD exists)
- 软件测试面试-为什么选择软件测试?
- 让curl支持IE代理
- Redhat/Selinux上mysql启动报错Operating system error number 13的解决方法
- P问题、NP问题、NPC问题的概念及实例证明
- jsp未正确拼写字 mysql_jsp与mysql的汉字乱码SQL中无法使用汉字的问题