Python程序:通过检查元素在集合中的参与度来寻找快乐


假设我们有一个包含 n 个不同整数的数组 nums。我们还有两个不相交的集合 A 和 B。我们有一个最初设置为 0 的快乐参数。我们遍历 nums 中的每个整数 i。如果 i 在 A 中,则将快乐值加 1;如果 i 在 B 中,则将其减 1。我们最终需要找到最终的快乐值。

因此,如果输入类似于 nums = [1,2,5,8,6,3] A = {5,8,9,7,3} B = {2,4,12,15},则输出将为 2,因为 5、8、3 在 A 中,所以快乐值为 3,但 2 在 B 中,所以将其减 1,然后快乐值为 2。

为了解决这个问题,我们将遵循以下步骤:

  • 快乐值 := 0
  • 对于 nums 中的每个 i,执行以下操作:
    • 如果 i 在 A 中,则
      • 快乐值 := 快乐值 + 1
    • 否则,当 i 在 B 中时,则
      • 快乐值 := 快乐值 - 1
  • 返回快乐值

示例

让我们看看以下实现以获得更好的理解

def solve(nums, A, B):
   happiness = 0
   for i in nums:
      if i in A:
         happiness += 1
      elif i in B:
         happiness -= 1
   return happiness

nums = [1,2,5,8,6,3]
A = {5,8,9,7,3}
B = {2,4,12,15}
print(solve(nums, A, B))

输入

[1,2,5,8,6,3], {5,8,9,7,3}, {2,4,12,15}

输出

2

更新于: 2021年10月12日

239 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告