Redian新闻
>
发个Palantir的电面,并求g家onsite的bless
avatar
发个Palantir的电面,并求g家onsite的bless# JobHunting - 待字闺中
M*l
1
上周二面的,就是combination sum, 但是数组里面可能包含negative number, 所以和
LC上面的不完全一样,这里有讨论:
http://stackoverflow.com/questions/15532957/to-find-a-subset-fr
我先直接对每个combination然后求和比较,复杂度就是n^2*2^n,想着可以再改进,但
是没给机会,看来还是要第一时间就把最优解给说出来。整个过程20多分钟。
求明天g家onsite bless.
avatar
t*r
2
public class Solution {

private List> ret;
private List curList;

public List> combinationSum2(int[] candidates, int target)
{
ret = new ArrayList>();
curList = new ArrayList();
Arrays.sort(candidates);
getSum(candidates,target,0);
return ret;
}
private void getSum(int[] candidates, int target, int lastIndex){
if(target == 0){
ret.add(new ArrayList(curList));
} else {
int i = lastIndex;
while(i < candidates.length){
int candidate = candidates[i];
curList.add(candidate);
getSum(candidates, target-candidate, i+1);
curList.remove(curList.size()-1);
while( (i< (candidates.length-1)) && (candidates[i]==
candidates[i+1])){
i++;
}
i++;
}
}
}
}
这样不就行了,怎么会那么难?
avatar
l*z
3
bless!
avatar
A*e
4
我先直接对每个combination然后求和比较,复杂度就是n^2*2^n
没看懂你在说什么。
另外最优解是啥?你给那个link质量似乎不高啊。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。