diff options
author | Jack Sangdahl <[email protected]> | 2025-10-12 18:31:26 -0600 |
---|---|---|
committer | Jack Sangdahl <[email protected]> | 2025-10-12 18:31:26 -0600 |
commit | b5c87065a4c77cc960dd1f852ccd6aba1185e11f (patch) | |
tree | ad62e3e26c1328a5f24411e3638bbcf76cbaece6 /find_restaurant_arr_rem_anagram.py | |
parent | 34a6791c29e4c23dd299327a33247a77d39cc681 (diff) | |
download | leetcode-b5c87065a4c77cc960dd1f852ccd6aba1185e11f.tar.gz leetcode-b5c87065a4c77cc960dd1f852ccd6aba1185e11f.zip |
Diffstat (limited to 'find_restaurant_arr_rem_anagram.py')
-rw-r--r-- | find_restaurant_arr_rem_anagram.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/find_restaurant_arr_rem_anagram.py b/find_restaurant_arr_rem_anagram.py new file mode 100644 index 0000000..2cb4b8a --- /dev/null +++ b/find_restaurant_arr_rem_anagram.py @@ -0,0 +1,36 @@ +# 2273. Find Resultant Array After Removing Anagrams + +""" +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 yu +can select an index that satisfies the conditions. return 'words' after +performining 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. +""" + + +class Solution(object): + def anagram(self, s, t): + return sorted(s) == sorted(t) + + def removeAnagrams(self, words): + """ + :type words: List[str] + :rtype: List[str] + """ + ans = [] + for i in words: + if ans and self.anagram(ans[-1], i): + continue + ans.append(i) + return ans + + +if __name__ == "__main__": + obj = Solution() + print(obj.removeAnagrams(words=["abba", "baba", "bbaa", "cd", "cd"])) + print(obj.removeAnagrams(words=["a", "b", "c", "d", "e"])) |