欢迎光临散文网 会员登陆 & 注册

Leetcode 2273. Find Resultant Array After Removing Anagrams

2023-03-09 08:20 作者:您是打尖儿还是住店呢  | 我要投稿

You are given a 0-indexed string array words, where words[i] consists of lowercase English letters.

In one operation, select any index i such that 0 < i < words.length and words[i - 1] and words[i] are anagrams, and delete words[i] from words. Keep performing this operation as long as you can select an index that satisfies the conditions.

Return words after performing all operations. It can be shown that selecting the indices for each operation in any arbitrary order will lead to the same result.

An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase using all the original letters exactly once. For example, "dacb" is an anagram of "abdc".

 

Example 1:

Input: words = ["abba","baba","bbaa","cd","cd"]

Output: ["abba","cd"]

Explanation:One of the ways we can obtain the resultant array is by using the following operations: 

- Since words[2] = "bbaa" and words[1] = "baba" are anagrams, 

we choose index 2 and delete words[2]. 

 Now words = ["abba","baba","cd","cd"]. 

- Since words[1] = "baba" and words[0] = "abba" are anagrams, 

we choose index 1 and delete words[1].  Now words = ["abba","cd","cd"]. - Since words[2] = "cd" and words[1] = "cd" 

are anagrams, we choose index 2 and delete words[2].  Now words = ["abba","cd"]. 

We can no longer perform any operations, so ["abba","cd"] is the final answer.

Example 2:

Input: words = ["a","b","c","d","e"]

Output: ["a","b","c","d","e"]

Explanation:No two adjacent strings in words are anagrams of each other, so no operations are performed.

 

Constraints:

  • 1 <= words.length <= 100

  • 1 <= words[i].length <= 10

  • words[i] consists of lowercase English letters.

  • 所以理解题意是多么重要啊,我以为不是相邻的都要看是否是Anagrams呢,所以用了hashmap,其实相邻的就可,然后char[]转换为字符串也绊了一跤,应该是string.value of

    而不是tostring()方法;虽然是easy题目,教训深刻啊。

Runtime: 2 ms, faster than 95.29% of Java online submissions for Find Resultant Array After Removing Anagrams.

Memory Usage: 43.3 MB, less than 14.24% of Java online submissions for Find Resultant Array After Removing Anagrams.


Leetcode 2273. Find Resultant Array After Removing Anagrams的评论 (共 条)

分享到微博请遵守国家法律