这道题目参考答案给出的的解法,比较直观。
但是我纠结是否可以用的解法。
例如一个排序好的数组[-4,-1,-1,0,1,2,2,3]
head指向0,tail指向n-1,通过二分找到满足条件的数。
while目标数字的索引小于等于head,head += 1
while目标数字的索引大于等于tail,tail += 1
这时出现了一个问题,如果等于怎么办,等于了把这个加进答案,接下来移动head还是移动tail。都有可能。例如
[-4,-1,-1,0,1,2,2,3]
⬆ ⬆ ⬆
如果选择head右移,那么就错过了-4,2,2这个解
tail左移同理
所以这种方法无法解决这类问题。这种方法可以用来做请找出三树之和的其中一个解。