【最优解法】

我们假设字母都由大写字母组成……,我们先对小字符串预处理,

可以得到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章:字符串是否包含相关推荐

  1. 程序员编程艺术:第二章、字符串是否包含问题

    程序员编程艺术:第二章.字符串是否包含及相关问题扩展 作者:July,yansha. 时间:二零一一年四月二十三日. 致谢:老梦,nossiac,Hession,Oliver,luuillu,雨翔,啊 ...

  2. 第02章 PyTorch基础知识

    文章目录 第02章 Pytorch基础知识 2.1 张量 2.2 自动求导 2.3 并行计算简介 2.3.1 为什么要做并行计算 2.3.2 CUDA是个啥 2.3.3 做并行的方法 补充:通过股票数 ...

  3. Think in Java第四版 读书笔记7第13章 字符串

    本章内容 1.string的基本使用 2.string拼接符 + 3.Object方法toString 4.String的常用方法 5.String的格式化输出 6.正则表达式 13.1 不可变字符串 ...

  4. 《Pandas Cookbook》第02章 DataFrame基本操作

    第01章 Pandas基础 第02章 DataFrame运算 第03章 数据分析入门 第04章 选取数据子集 第05章 布尔索引 第06章 索引对齐 第07章 分组聚合.过滤.转换 第08章 数据清理 ...

  5. 第02章_MySQL环境搭建

    第02章_MySQL环境搭建 1. MySQL的卸载 步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务.按键盘上的"Ctrl + Alt + Delete"组合 ...

  6. 《Java编程思想》读书笔记 第十三章 字符串

    <Java编程思想>读书笔记 第十三章 字符串 不可变String String对象是不可变的,每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以及包含修 ...

  7. 《Java从小白到大牛》之第9章 字符串

    <Java从小白到大牛>纸质版已经上架了!!! 由字符组成的一串字符序列,称为"字符串",在前面的章节中也多次用到了字符串,本章将重点介绍. Java中的字符串 Jav ...

  8. Python第三章-字符串

    第三章  字符串 3.1 基本字符串操作 Python的字符串和元组差不多,是不可以进行改变的,如果想改变值,可以尝试list序列化之后在进行修改. {    website = 'http://ww ...

  9. 零基础学Python(第十一章 字符串处理)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章内容为: ...

  10. 第4章 字符串和格式化输入/输出

    学习笔记--<C Primer Plus> 第4章 字符串和格式化输入/输出 4.1 前导程序 4.2 字符串简介 4.2.1 char 类型数组和 null 字符 4.2.2 使用字符串 ...

最新文章

  1. matlab在输电线路故障测距中应用,Matlab在输电线路故障测距中的应用.doc
  2. 程序员,Mybatis 你踩过坑吗?
  3. pythonanywhere使用:进入虚拟机及修改django项目的css样式
  4. 三维重建 几何方法 深度学习_Occupancy Networks:基于学习函数空间的三维重建表示方法...
  5. MapReduce算法–了解数据连接第二部分
  6. windows mysql is read only_mysql中Table is read only错误解决方法(转载)
  7. 1.6编程基础之一维数组_04数组逆序重放
  8. csdn2020年度博客之星 - 直播间(恭喜圆满结束)
  9. android按钮怎么事件监听,android 通过监听edittext实现button的点击事件
  10. Atitit 人工智能体系树培训列表应用较为广泛的技术.docx Atitit 人工智能体系培训列表 目录 1. 1.NLP自然语言处理文本处理 2 1.1. 语言理解 分词 2 1.2. 抽取
  11. 中国行政村边界数据、乡镇街道边界
  12. android ios开发难度对比,ios VS android:这不就是简洁与复杂最明显的对比
  13. Excel数据分析入门-数据透视表
  14. Unity镜头光晕模拟开源库
  15. Git :error: You have not concluded your merge (MERGE_HEAD exists)
  16. 软件测试面试-为什么选择软件测试?
  17. 让curl支持IE代理
  18. Redhat/Selinux上mysql启动报错Operating system error number 13的解决方法
  19. P问题、NP问题、NPC问题的概念及实例证明
  20. jsp未正确拼写字 mysql_jsp与mysql的汉字乱码SQL中无法使用汉字的问题

热门文章

  1. JS 里的数据类型及几个操作
  2. PHP中的++和--
  3. CLR,通用语言运行时库
  4. RHEL脚本更换YUM源(sohu)
  5. 关于vs08生成解决方案慢的解决方法
  6. OpenGL(一)二维图形的绘制:一个简单的绘制矩形程序
  7. Android NDK开发如何解决logcat日志打印不全
  8. 【笔记】android 系统常用user id列表
  9. [2018.07.26 T2] 背包问题
  10. CF985E Pencils and Boxes