程序检查是否在Python中将一个列表的子列表反转为第二个列表
假设我们有两个数字列表,分别称为A和B。我们必须在A中取一些子列表并将其取反。然后检查是否可以将A变成B。我们可以选择子列表并将其反向任意次。
因此,如果输入像A = [2,3,4,9,10],B = [4,3,2,10,9],则输出将为True,因为我们可以反转[2,3, 4]和[9,10]。
为了解决这个问题,我们将遵循以下步骤-
res:=映射,最初是空的
对于每n个数字,执行
res [n]:= res [n] + 1
对于目标中的每个t
res [t]:= res [t]-1
当res值中的所有元素都等于0时,返回true。
让我们看下面的实现以更好地理解-
示例
from collections import defaultdictclass Solution:
def solve(self, nums, target):
res = defaultdict(int)
for n in nums:
res[n] += 1
for t in target:
res[t] -= 1
return all(n == 0 for n in res.values())
ob = Solution()A = [2, 3, 4, 9, 10]
B = [4, 3, 2, 10, 9]
print(ob.solve(A, B))
输入值
[2, 3, 4, 9, 10], [4, 3, 2, 10, 9]
输出结果
True
以上是 程序检查是否在Python中将一个列表的子列表反转为第二个列表 的全部内容, 来源链接: utcz.com/z/316973.html