321
社区成员




对K个不同字符的全排列组成的数组, 面试官从中随机拿走了一个, 剩下的数组作为输入, 请帮忙找出这个被拿走的字符串? 比如[“ABC”, “ACB”, “BAC”, “CAB”, “CBA”] 返回 “BCA”
在 python 里有一个 itertools 包,可以非常方便的生成全排列。。。
import itertools
n = int(input())
s = [input() for _ in range(n)]
if n > 0:
t = {''.join(v) for v in itertools.permutations(list(s[0]),len(s[0]))}
print(*(t - set(s)))
其他语言没有方便的生成全序列的办法,但是,可以变通一下,因为只少了一个,所以,我们将以后得内容逆序排列一下,如果不存在于已有数据中,则这个逆序就是丢失的内容
n = parseInt(readline())
arr = Array.from(new Array(n)).map(x => readline())
if (n){
print(arr.filter(x => !arr.includes(x.match(/./gi).sort(x => -1).join('')))[0].match(/./gi).sort(x => -1).join(''))
}
n = int(input())
s = {input() for _ in range(n)}
print(*[x[::-1] for x in s if x[::-1] not in s])