字符串的包含

给定以长字符串a和以短字符串b,假设输入的字符串只包含大写英文字母:如何快速的判断出短字符串b中的所有字符是否都在长字符串a中?

方法一:排序后查找

一般直接想到的方法时蛮力查找,但是这种方法会有多次重复查找,效率较低,接着想到的就是先排序再查找,减少一些重复的查找

排序后,只要发现B String中有一个字符不能在A String中找到,就可以判定结果为不包含

排序算法可以自由选择,这里选择冒泡排序,这里需要注意的是两层循环的次数

方法二:位运算查找

比排序后查找更好的办法是去除排序的过程,因为这个题目只要求大写的英文字母,所以可以使用散列表的形式将26个字母映射到一个固定的值上,比如位运算

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,804评论 18 399
  • 看路遥的《平凡的世界》,记得其中有段情节,说的是孙兰香读高中时,为了减轻家里的负担而去工地提泥包的事,书中这样...
    刘向雄_阅读 1,293评论 0 1
  • 文 | 伊路风凡 前些天,下班等公交,拍下了眼前的风景。闽南特色的红房子,这座古老的小城。此情此景让我发了这句话“...
    伊路风凡阅读 290评论 2 0
  • 空函数 如果想定义一个什么事也不做的空函数,可以用pass语句: pass语句什么都不做,那有什么用?实际上pas...
    Clemente阅读 416评论 0 0
  • 不管你承认不承认,在上海,外地人是遭受歧视的。 我的公司里一个外地人也没有,老总有自己的想法,他出身一家上海本地的...
    我就是怀疑阅读 211评论 0 0