blob: db7b5c136b8be5b0bba9d861e52ef15a4b425547 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
public class Ch2 {
public static void main(String[] args) {
System.out.println(buddy_strings("fuck", "fcuk"));
System.out.println(buddy_strings("love", "love"));
System.out.println(buddy_strings("fodo", "food"));
System.out.println(buddy_strings("feed", "feed"));
}
private static boolean buddy_strings(String s1, String s2) {
if (s1.length() != s2.length()) return false;
int diff = 0;
int[] count1 = new int[26];
int[] count2 = new int[26];
for (int i = 0; i < s1.length(); ++i) {
int a = s1.charAt(i), b = s2.charAt(i);
++count1[a - 'a'];
++count2[b - 'a'];
if (a != b) ++diff;
}
boolean f = false;
for (int i = 0; i < 26; ++i) {
if (count1[i] != count2[i]) return false;
if (count1[i] > 1) f = true;
}
return diff == 2 || (diff == 0 && f);
}
}
|