data = ['a', 'b', 'a', 'c', 'a']
def uniq(data):
last = None
result = []
for item in data:
if item != last:
result.append(item)
last = item
return result
print uniq(sorted(data))
# prints ['a', 'b', 'c']
这基本上就是shell的cat data | sort | uniq习惯用法。
成本为O(N*logn),与基于树的集合相同。你知道吗
一种选择是(根据Ritesh Kumar的答案here)
这给了
试试这个
对输入进行排序,然后删除重复项变得很简单:
这基本上就是shell的
cat data | sort | uniq
习惯用法。 成本为O(N*logn),与基于树的集合相同。你知道吗相关问题 更多 >
编程相关推荐