给定一个数组
问题链接在这里或这里。
我目前的尝试(寻找模式)是:
{1,3,5,7}
,它的子集定义为{1357,135,137,157,357,13,15,17,35,37,57,1,3,5,7}
。我需要在新的数组中找到所有这些数字的和。在这种情况下,总和为2333。请帮我找到一个O(n)
的解决方案。我的O(n^2)
的解法超时了。问题链接在这里或这里。
我目前的尝试(寻找模式)是:
for(I=0 to len) //len is length of the array
{
for(j=0 to len-i)
{
sum+= arr[I]*pow(10,j)*((len-i) C i)*pow(2,i)
}
}
换言之,len-i C i = (右侧整数的数量)C weight。其中,组合来自排列和组合。 2 ^ i = 2的(左侧整数的数量)次方。
谢谢。