Это мое решение с 10 строками:
class Solution(object):
def permute_unique(self, nums):
perms = [[]]
for n in nums:
new_perm = []
for perm in perms:
for i in range(len(perm) + 1):
new_perm.append(perm[:i] + [n] + perm[i:])
# handle duplication
if i < len(perm) and perm[i] == n: break
perms = new_perm
return perms
if __name__ == '__main__':
s = Solution()
print s.permute_unique([1, 1, 1])
print s.permute_unique([1, 2, 1])
print s.permute_unique([1, 2, 3])
--- Результат ----
[[1, 1, 1]]
[[1, 2, 1], [2, 1, 1], [1, 1, 2]]
[[3, 2, 1], [2, 3, 1], [2, 1, 3], [3, 1, 2], [1, 3, 2], [1, 2, 3]]
Перво-наперво,
getYTvideos (title) {
пробел между getYTvideos
и (title)
выглядит как синтаксическая ошибка. По крайней мере, он действует как один, когда я пытаюсь объявить функцию таким образом.
(Во-вторых, если бы это было не так, я бы преобразовал getYTvideos
в функцию со стрелкой).