做网站公司负责修图吗,投资理财网站开发,wordpress wp_post,金融公司网站建设模板下载文章目录1. 题目2. 解题1. 题目
给你一个下标从 0 开始的字符串 words #xff0c;其中 words[i] 由小写英文字符组成。
在一步操作中#xff0c;需要选出任一下标 i #xff0c;从 words 中 删除 words[i] 。其中下标 i 需要同时满足下述两个条件#xff1a;
0 i …
文章目录1. 题目2. 解题1. 题目
给你一个下标从 0 开始的字符串 words 其中 words[i] 由小写英文字符组成。
在一步操作中需要选出任一下标 i 从 words 中 删除 words[i] 。其中下标 i 需要同时满足下述两个条件
0 i words.lengthwords[i - 1] 和 words[i] 是 字母异位词 。
只要可以选出满足条件的下标就一直执行这个操作。
在执行所有操作后返回 words 。可以证明按任意顺序为每步操作选择下标都会得到相同的结果。
字母异位词 是由重新排列源单词的字母得到的一个新单词所有源单词中的字母通常恰好只用一次。例如“dacb” 是 “abdc” 的一个字母异位词。
示例 1
输入words [abba,baba,bbaa,cd,cd]
输出[abba,cd]
解释
获取结果数组的方法之一是执行下述步骤
- 由于 words[2] bbaa 和 words[1] baba 是字母异位词选择下标 2 并删除 words[2] 。现在 words [abba,baba,cd,cd] 。
- 由于 words[1] baba 和 words[0] abba 是字母异位词选择下标 1 并删除 words[1] 。现在 words [abba,cd,cd] 。
- 由于 words[2] cd 和 words[1] cd 是字母异位词选择下标 2 并删除 words[2] 。现在 words [abba,cd] 。
无法再执行任何操作所以 [abba,cd] 是最终答案。示例 2
输入words [a,b,c,d,e]
输出[a,b,c,d,e]
解释
words 中不存在互为字母异位词的两个相邻字符串所以无需执行任何操作。提示
1 words.length 100
1 words[i].length 10
words[i] 由小写英文字母组成来源力扣LeetCode 链接https://leetcode.cn/problems/find-resultant-array-after-removing-anagrams 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
使用 python 的Counter 计数
from collections import Counter
class Solution:def removeAnagrams(self, words: List[str]) - List[str]:s []for w in words:if len(s)0 or Counter(s[-1])!Counter(w):s.append(w)return s76 ms 15.2 MB Python3 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步