我被给予{1,2,3,...,N}个数字。现在x <= N个数字被删除。找到不能表示为这些数字之和的最小数字。 例如:
A = {1,2,3,4}现在,如果删除1为3的数字,则无法表示8。所以答案是8.我们有什么方法可以在O(logN)时间找到这个吗? 我的算法:
ans=1;
let a[]={sorted list of numbers that are deleted}// here in example only 3
for(i=1;i<=n and p<=ans ;i++)
if(a[p]!=i)
ans+=i;
else
p++;
return ans;