Как проверить, имеют ли два массива одинаковые значения, игнорируя их положение. Массивы могут иметь несколько одинаковых значений.Сравнение значений массива в JAVA (проверка, являются ли слова анаграммами)
Пример 1
String[] a = {"m","o","m","d","a","d"};
String[] b = {"d","a","d","m","o","m"};
// Это должно привести к истинным.
Пример 2
String[] a = {"m","o","m","d","a","d"};
String[] b = {"d","a","d","m","o"};
// Это должно привести к ложным, потому что второй массив имеет только один м и первый массив имеет два
Я надеюсь, мое состояние понимается, например.
Я пытаюсь проверить, являются ли слова анаграммами. Я сделал массив из слов. Но не удалось проверить, имеют ли массивы одинаковые значения. Мой код выглядит следующим образом:
public class AreAnagrams {
public static boolean areAnagrams(String a, String b) {
//throw new UnsupportedOperationException("Waiting to be implemented.");
if(a.length() != b.length()) return false;
String[] test = new String[a.length()];
String[] testb = new String[b.length()];
for(int i=0; i<a.length(); i++){
test[i] = a.substring(i,i+1);
testb[i] = b.substring(i,i+1);
}
return test.equals(testb);
}
public static void main(String[] args) {
System.out.println(areAnagrams("momdad", "dadmom"));
}
}
Опубликовать свой код ... – newuser
Мы не рекомендуем вопросы, которые не демонстрируют минимальное понимание, голосование закрывается. – Maroun
Сортируйте оба массива перед сравнением. – idstam