寻找在 Python 中创建公平数组的方法的程序
假设我们有一个名为nums的数组。我们可以只选择一个索引并从该索引中删除元素。(删除后元素的索引可能会发生变化)。当奇数索引值之和等于偶数索引值之和时,我们可以说数组是公平的。我们必须找到我们可以选择的索引数量,以便在删除后nums是公平的。
因此,如果输入类似于nums=[5,3,7,2],那么输出将是
从索引0中移除,数组为[3,7,2],偶数和:3+2=5,奇数和7(不公平)
从索引1中移除,数组为[5,7,2],偶数和:5+2=7,奇数和7(公平)
从索引2中移除,数组为[5,3,2],偶数和:5+2=7,奇数和3(不公平)
从索引3中移除,数组为[5,3,7],偶数和:5+7=12,奇数和3(不公平)
示例
让我们看看以下实现以获得更好的理解-
def solve(nums):
res, sm1, sm2 = 0, 0, 0
for i in range(1, len(nums)):
if i%2 == 1:
sm1 += nums[i]
else:
sm2 += nums[i]
if sm1 == sm2:
res += 1
for i in range(1, len(nums)):
if i % 2 == 1:
sm1 = sm1 - nums[i] + nums[i-1]
else:
sm2 = sm2 - nums[i] + nums[i-1]
if sm1 == sm2:
res += 1
return res
nums = [5,3,7,2]
print(solve(nums))输入
[5,3,7,2]输出结果
1
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志