def threeSum(self, num):

        # record result
        result = []
        num.sort()  # sorting first, avoid duplicate,
        i = 0
        while i < len(num)-2:
            j = i+1
            k = len(num)-1
            while j < k:
                lst = [num[i], num[j], num[k]]
                if sum(lst) == 0:
                    result.append(lst)
                    k -= 1
                    j += 1
                    # JUMP remove duplicate
                    while j < k and num[j] == num[j-1]:
                        j += 1
                    while j < k and num[k] == num[k+1]:
                        k -= 1
                elif sum(lst) > 0:
                    k -= 1
                else:
                    j += 1

            i += 1
            # remove duplicate
            while i < len(num)-2 and num[i] == num[i-1]:
                i += 1

        return result
update the authority section of an existing urn
dataset/ETHPy150Open algorhythms/LeetCode/014 3Sum.py/Solution.threeSum--crossover with--dataset/ETHPy150Open fp7-ofelia/ocf/optin_manager/src/python/openflow/optin_manager/sfa/util/xrn.py/Xrn.set_authority