给定含有n个小写字母的n个字符串(n<=26),找出每个字母的“归属”例如:4个字符串①"ac" ②"acd" ③"cbd" ④"a"显然字母b只在③中出现,那么我们说③属于b,输出③->b;现在③已被b占有,d在剩下三个字符串中只在②中出现了,所以②属于d,c在剩下的①④中只在①中出现,那么①属于c,最后剩下a和④,则顺理成章地④属于a若解不唯一,比如:①"ac" ②"acd" ③"cbd" ④"ab"既可以①->a ②->d ③->c ④->b 也可以 ①->c ②->a ③->d ④->b则输出一组即可请问如何实现?
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
哈哈哈,一样的题目。我试着说下我的想法,不对的地方请指教。首先将4个字符串的所有字符遍历出来,然后放到一个map集合里key和value分别为字符以及对应出现的次数如
①"ac"
②"acd"
③"cbd"
④"a"
得到的为a=3,b=1,c=3,d=2,
然后将值为1的key(b)找到对应的字符串,即3,则③已被b占有
遍历3,相应减去3的字符次数
得到的为a=3,b=0,c=2,d=1,
然后将值为1的key(d)找到对应的字符串,即1,则②已被d占有
遍历2,相应减去2的字符次数
得到的为a=2,b=0,c=1,d=0,
。。。。大致就这样。望采纳
添加回答
举报
0/150
提交
取消