leetcode中一个很变态的简单题目
https://leetcode-cn.com/problems/buddy-strings/description/
本来思路很明确感觉很简单,然鹅....
emmmm....
看了答案 很easy.... 所以,要学会使用set()啊。
set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
set 语法:
class set([iterable])参数说明:
- iterable -- 可迭代对象对象;
测试实例:
解题:
建立一个空的set()
然后通过建立for循环判断字符是否重复出现
seen = set()
for a in A:
if a in seen:
return True
seen.add(a)
return False
另外在本题解答中还出现了 itertools.izip(A,B)的用法
pairs = []
for a, b in itertools.izip(A, B):
if a != b:
pairs.append((a, b))
if len(pairs) >= 3:
return False
return len(pairs) == 2 and pairs[0] == pairs[1][::-1] # pairs[1][::-1] -1倒序输出
itertools——创建高效迭代器的Python模块。
itertools.izip(*iterables)
*iterables为一个或多个可迭代对象
作用:返回所有可迭代对象的迭代器(止于最短序列)
参考:https://blog.csdn.net/c465869935/article/details/51598388