检查Python中1和2的数组是否可以分为相等相等的2个部分

假设我们有一个仅存储1和2的数组nums。我们必须检查数组是否可以分为两个不同的部分,以使每个部分中的元素总和相同。

因此,如果输入像nums = [1,1,2,2,2],则输出将为True,因为我们可以像[1,1,2]和[2,2]一样划分此数组。每个部分是4。

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

  • 总计:= 0,one_count:= 0

  • 总数:= num的所有元素的总和

  • one_count:=以1为单位的计数

  • 如果总数是偶数,则

    • 返回False

  • 如果(total / 2)的整数部分是偶数,则

    • 返回True

  • 如果one_count> 0,则

    • 返回True

  • 除此以外,

    • 返回False

让我们看下面的实现以更好地理解-

示例

def solve(nums):

   total = 0

   one_count = 0

   total = sum(nums)   one_count = nums.count(1)

   if total % 2:

      return False

   if (total // 2)%2 == 0:

      return True

   if one_count > 0:

      return True

   else:

      return False

nums = [1, 1, 2, 2, 2]

print(solve(nums))

输入值

[1, 1, 2, 2, 2]
输出结果
True

以上是 检查Python中1和2的数组是否可以分为相等相等的2个部分 的全部内容, 来源链接: utcz.com/z/337933.html

回到顶部