题目
代码部分一(100ms 100%)
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
char[] ch1 = ransomNote.toCharArray();
char[] ch2 = magazine.toCharArray();
int[] first = new int[26];
int[] second = new int[26];
for(int i = 0; i < ch1.length; i++){
first[ch1[i] - 97]++;
}
for(int i = 0; i < ch2.length; i++){
second[ch2[i] - 97]++;
}
for(int i = 0; i < 26; i++){
if(first[i] > second[i]) return false;
}
return true;
}
}
代码部分二(4ms 99.85%)
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
char[] ch1 = ransomNote.toCharArray();
char[] ch2 = magazine.toCharArray();
int[] first = new int[26];
int[] second = new int[26];
for(int i = 0; i < ch1.length; i++){
first[ch1[i] - 97]++;
}
int len2 = - 1;
for(int i = 0; i < ch2.length; i++){
second[ch2[i] - 97]++;
}
for(int i = 0; i < 26; i++){
if(first[i] > second[i]) return false;
}
return true;
}
}
代码部分三(4ms 99.88%)
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
char[] ch1 = ransomNote.toCharArray();
char[] ch2 = magazine.toCharArray();
int[] flag = new int[26];
for(int i = 0; i < ch2.length; i++){
flag[ch2[i] - 97]++;
}
for(int i = 0; i < ch1.length; i++){
if(flag[ch1[i] - 97]-- == 0) return false;
}
return true;
}
}