查找无法用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
热门推荐
4 送米的祝福语简短
10 少儿春节祝福语简短精辟
11 班级祝福语简短句子
12 女神节祝福语简短创意
13 写给宝宝新年祝福语简短
14 经典座右铭简短祝福语英文
15 晚安好梦祝福语简短
16 周末祝福语简短有内涵
17 岳母生日贺卡祝福语简短
18 叔叔结婚的祝福语简短