我试图找出数组中元素的任何组合是否与特定大小相加.
例如输入:{尺寸:[1,1,3,5],目标:2}输出:是/否=>在这种情况下是,因为1 + 1 = 2
我能想到的其中一个解决方案更多的是强力解决方案,我将有n ^ 2次尝试找到特定于目标的大小.
即是这样的:
for(i=0; i< array.size(); i++) {
for(j=i+1; j< array.size(); j++) {
if(i+j == goal) {
return true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是唯一的方法吗?还有,我的代码是否正确相同?
通过'组合',我不是指'对'(必须恰好是两个项目),而是一个实际的组合(它可以是从0到所有项目的任何地方)