Developers at Amazon continuously develop algorithms to ensure the security of users' accounts through strong passwords.
One such algorithm is based upon the concept of perfect anagrams.
- A string
xis an anagram ofyif it is possible to rearrange the letters inxto gety. For example, "bat" and "tab" are anagrams, 'bats' and 'tab' are not. - Two strings
aandbare said to be perfect anagrams ifaandbare anagrams of each other andais not equal tob.
For example,
Given a string s, find the maximum length of two of its substrings that are perfect anagrams. If no such substrings exist, return -1.
Note: A substring is a contiguous subsegment of a string. For example, "xy" is a substring of "xyz" but "xz" is not.
Complete the function longestPerfectAnagrams in the editor.
longestPerfectAnagrams has the following parameter:
string s: a string
Returns
int: the length of the longest substring pair which are perfect anagrams or -1 if no such pair exists.
s = "abcacb" return = 4
The string s = "abcacbab",
- Pairs of substrings such as ("ca", "ac"), ("abc", "acb"), ("bca", "acb"), ("bcac", "cacb"), etc. are perfect anagrams.
- Among these, the longest are ("bcac", "cacb").
It can be proven that no two substrings of length greater than 4 in the given string are perfect anagrams. Return 4.
s = "cabcab" return = 3
s = "aabbcc" return = -1
- 1 ≤ |s| ≤ 10^5
- string
scontains lowercase English characters only.
- Count Promotional PeriodsOA · Seen Jun 2026
- Find Maximum Total Amount (SDE I, Fungible :)Seen Jun 2026
- Get Minimum AmountOA · Seen Jun 2026
- Find Minimum CostOA · Seen Jun 2026
- Get Smallest Base SegmentOA · Seen Jun 2026
- Maximum Non-Adjacent House ValueONSITE INTERVIEW · Seen Jun 2026
- Running Delivery Time MediansONSITE INTERVIEW · Seen Jun 2026
- Select Least Resource TasksOA · Seen Jun 2026
public int longestPerfectAnagrams(String s) {
// write your code here
}