117

编程题 117 /123

给出一个有n个元素的数组S,S中是否有元素a,b,c和d满足a+b+c+d=目标值?找出数组S中所有满足条件的四元组。
注意:
  1. 四元组(a、b、c、d)中的元素必须按非降序排列。(即a≤b≤c≤d)
  2. 解集中不能包含重复的四元组。
    例如:给出的数组 S = {10 0 -10 0 -20 20}, 目标值 = 0.
    给出的解集应该是:
    (-10,  0, 0, 10)
    (-20, -10, 10, 20)
    (-20,  0, 0, 20)