Подобная задача может встретиться Java-разработчику на собеседовании — предлагаем попробовать её решить. Если вы уже немного знакомы с языком, у вас должно получиться.
Даны две строки — s1 и s2. Нужно определить, являются ли эти строки анаграммами — разными словами, которые состоят из одинаковых букв.
Например:
Вход: s1 = "listen", s2 = "silent" ➡️Выход: true
Вход: s1 = "hello", s2 = "billion" ➡️ Выход: false
Вход: s1 = "anagram", s2 = "nagaram" ➡️ Выход: true
Необходимо реализовать метод boolean areAnagrams(String s1, String s2), который принимает строки и возвращает true, если они являются анаграммами, и false — если нет.
Алгоритм должен быть эффективным, с временной сложностью не более O(n log n).
Предлагайте варианты в комментариях✍️