假设有一个字符串a= "abcdefghijk"
另外一个字符串b = "aegf"
查看a中是否包含b中的所有字母。
第一个方案是用一个int类型的变量,清零。然后用一个位代表一个字母,遍历a字符串,遇到字母把相应位置1;
然后遍历第二个字符串,遇到字母把相应位清0.这样时间复杂度为o(a.size() + b.size() )
还有一种屌炸天的算法是,用质数表示字母,例如 a 2 b 3 c 5.然后把a中所有的字母相乘
在除以b中字母,看是否整除即可。
时间: 2024-11-07 15:14:57