查找无法用Python中给定数组的任何子集的和表示的最小正整数值
假设我们有一个正数的排序数组,该数组按升序排序,则必须找到不能表示为给定集合的任何子集的元素之和的最小正值。我们必须在O(n)时间内解决这个问题。
因此,如果输入类似于A=[1、4、8、12、13、17、17],那么输出将为2。
为了解决这个问题,我们将遵循以下步骤-
n:=A的大小
回答:=1
对于0到n范围内的i,执行
从循环中出来
答案:=答案+A[i]
如果A[i]<=答案,则
除此以外,
返回答案
示例
让我们看下面的实现以更好地理解-
def get_smallest_element(A):
n = len(A)
answer = 1
for i in range (0, n ):
if A[i] <= answer:
answer = answer + A[i]
else:
break
return answer
A = [1, 4, 8, 12, 13, 17]
print(get_smallest_element(A))输入值
[1, 4, 8, 12, 13, 17]
输出结果
2
热门推荐
10 情侣祝福语古文简短独特
11 酒店伴娘祝福语简短
12 晚上甜蜜的祝福语简短
13 给新娘简短的祝福语
14 当爸爸的简短祝福语
15 洛宁新年祝福语大全简短
16 新年祝福语简短搞笑幽默
17 结婚祝福语大全简短霸气
18 新人结婚祝福语简短高端