我想将字符添加到字符串中,但要确保最终列表中的所有字母都是 唯一的 。
例如:"aaabcabccd"
→"abcd"
现在,我当然想到了两种解决方案。一种是使用list
,它将字符与ASCII码映射。因此,每当我遇到一个字母时,它都会将索引设置为True
。之后,我将扫描列表并附加所有已设置的列表。时间复杂度为
O(n) 。
另一个解决方案是使用dict
和遵循相同的过程。映射完每个字符后,我将对字典中的每个键进行操作。这也将具有 线性 运行时间。
由于我是Python新手,所以我想知道哪种方法更节省空间。哪一个可以更有效地实施?
PS :创建列表时顺序 并不 重要。
最简单的解决方案可能是:
In [10]: ''.join(set('aaabcabccd'))
Out[10]: 'acbd'
请注意,即使示例中另有说明,也不能保证字母在输出中出现的顺序。
您将输出称为“列表”。如果列表是您真正想要的,请替换''.join
为list
:
In [1]: list(set('aaabcabccd'))
Out[1]: ['a', 'c', 'b', 'd']
就性能而言,在此阶段担心它听起来像过早的优化。
问题内容: 我正在编写一个程序,该程序将以字符串形式输出唯一字符(通过扫描仪输入)。我创建了一个方法来尝试实现此目的,但我一直在获取不重复的字符,而不是字符串中唯一的一个(或多个)字符。我只想要唯一的字母。 这是我的代码: 这是上面代码的示例输出: 预期的输出将是: 问题答案: 根据所需的输出,当以后重复时,必须替换最初已经添加的字符,因此:
问题内容: 上下文:我是CS n00b,正在通过“破解编码面试”来完成自己的工作。第一个问题要求“实施一种算法以确定字符串是否具有所有唯一字符”。我的(可能是幼稚的)实现如下: 作者建议以下实现: 是什么使作者的实现比我的更好(FWIW,作者的解决方案是在Java中,我将其转换为Python -我的解决方案是无法在Java中实现的解决方案)吗?或者,更一般而言,解决该问题需要什么?我采用的方法有什
问题内容: 我正在尝试从Java字符串中找到所有三个字母子字符串。 例如,从字符串“ example string”中,我应该得到“ exa”,“ xam”,“ amp”,“ mpl”,“ ple”,“ str”,“ tri”,“ rin”,“ ing”。 我尝试使用Java正则表达式“([[a-zA-Z]){3}”,但仅得到“ exa”,“ mpl”,“ str”,“ ing”。 有人可以告诉我
问题内容: 我正在尝试查找“ |”的所有出现 在一个字符串中。 但我得到一个错误: 问题答案: 功能: 将返回的索引列表中的出现。
本文向大家介绍在 JavaScript 中包含唯一字符的筛选字符串,包括了在 JavaScript 中包含唯一字符的筛选字符串的使用技巧和注意事项,需要的朋友参考一下 问题 我们需要编写一个 JavaScript 函数来接受一个字符串 str。我们的函数应该构造一个只包含输入字符串中唯一字符的新字符串,并删除出现的所有重复字符。 示例 以下是代码- 输出结果 以下是控制台输出-
问题内容: 我有一个字符串,我想用一个星号替换任何不是标准字符或数字的字符,例如(az或0-9)。例如,“ h ^&ell`。,| ow] {+ orld”被替换为“ h * ell * o * w * orld”。请注意,多个字符(例如“ ^&”)将替换为一个星号。我将如何去做呢? 问题答案: 正则表达式可以解救! 例: