problem: https://leetcode.com/problems/combination-sum-ii/
tips:
while(next < candidates.size() && candidates[next++] == candidates[start]) ++cnt;
// 此处的next如果用来作为调用函数的参数, 会出问题,因为next的情况根据start所在位置的不同,会产生不同的结果。
//如果start为candidates.size()-1,那么next会变成candidates.size(),那next-1就回到了candidates.size()-1;
//其余的情况, next并没有问题。
这个问题解了1个半小时,代码写完花了40分钟,调试花了50多分钟,找不到bug所在。
1.直接用next会少计算数据,应该用next-1
2.用next-1也不对,因为如上。
想好了再写代码,否则调试会花很长时间。