给定以长字符串a和以短字符串b,假设输入的字符串只包含大写英文字母:如何快速的判断出短字符串b中的所有字符是否都在长字符串a中?
方法一:排序后查找
一般直接想到的方法时蛮力查找,但是这种方法会有多次重复查找,效率较低,接着想到的就是先排序再查找,减少一些重复的查找
排序后,只要发现B String中有一个字符不能在A String中找到,就可以判定结果为不包含
排序算法可以自由选择,这里选择冒泡排序,这里需要注意的是两层循环的次数
方法二:位运算查找
比排序后查找更好的办法是去除排序的过程,因为这个题目只要求大写的英文字母,所以可以使用散列表的形式将26个字母映射到一个固定的值上,比如位运算