首页 > 代码库 > UVa 1339 - Ancient Cipher
UVa 1339 - Ancient Cipher
又一次读错题意,导致WA。
题目大意 :
判断两个字符串是否可以通过重排和字母间的映射变成相等的字符串。
思路 : 一个较好的思路是先统计两个字符串中各个字母出现的次数,然后把两个计数数组排序,如果这两个排序后的计数数组相等的话。判断为YES,否则为NO。
Java代码 :
import java.util.*; public class Main1339 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String s1, s2; char[] ch1 = new char[105]; char[] ch2 = new char[105]; int[] cnt1 = new int[26]; int[] cnt2 = new int[26]; while(scan.hasNext()) { s1 = scan.next(); s2 = scan.next(); Arrays.fill(cnt1, 0); Arrays.fill(cnt2, 0); int len = s1.length(); ch1 = s1.toCharArray(); ch2 = s2.toCharArray(); for(int i=0; i<len; i++) { cnt1[ch1[i]-'A'] ++; cnt2[ch2[i]-'A'] ++; } Arrays.sort(cnt1); Arrays.sort(cnt2); int flag = 1; for(int i=0; i<26; i++) { if(cnt1[i] != cnt2[i]) { flag = 0; break; } } if(flag == 0) System.out.println("NO"); else System.out.println("YES"); } } }
UVa 1339 - Ancient Cipher
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。