例题4-1 古老的密码

来源:互联网 发布:php 微信群发接口 编辑:程序博客网 时间:2024/05/29 07:03

给定两个长度相同且不超过100 的字符串 ,判断是否能把其中一个字符串的各个字母重排 ,然后对26个字母做一个一一映射, 使得两个字符串相同。例如: JWPUDJSTVP 重排

后可以得到WJDUPSJPVT ,然后把每个字母映射到到前一个字母 。 得到VICTORIOUS。输入两个字符串 ,输出yes 或者是 no

分析:

既然字母可以重排 ,则每个字母的位置并不重要 ,重要的是每个字母出现的次数。这样可以先统计出两个字符串中各个字母出现的次数 , 得到两个数组。下一步 :只要两个素组排序之后的结果相同 ,输入的串就可以通过重排和一一映射变得相同 ,问题核心就是排序。

0 0
原创粉丝点击