给定N个字符串,每个字符串全部由小写字母组成,且每个字符串的长度最多为8请你判断有多少重组字符串,重组字符串有以下规则: 1.从每个字符串里面都抽取1个字母组成 2.新字符串不能有2个相同的字母请问总共能组成多少个重组字符串
时间: 2023-05-30 21:04:29 浏览: 198
JAVA字符串处理函数
思路:
由于每个字符串的长度最多为8,因此可以考虑枚举每个字符串中的每个字符,统计每个字符出现的次数。然后将每个字符的出现次数相乘,就是该字符能够组成的重组字符串的数量。最后将所有字符能够组成的重组字符串的数量相乘,就是总共能够组成的重组字符串的数量。
代码实现:
可以使用一个长度为26的数组count来统计每个字符出现的次数,count[i]表示字符i+'a'出现的次数。然后遍历所有字符串,统计每个字符的出现次数。最后再遍历一次count数组,计算每个字符能够组成的重组字符串的数量,并将所有字符的重组字符串的数量相乘即可。
C++代码:
阅读全文