comefrom: <qiyuangong>046_Permutations_1.py
code: def permute( nums):
      res = [[]]
      for i in range(len(nums)):
          cache = set()
          while len(res[0]) == i:
              curr = res.pop(0)
              for j in range(len(curr) + 1):
                  
                  new_perm = curr[:j] + [nums[i]] + curr[j:]
                  stemp = ''.join(map(str, new_perm))
                  if stemp not in cache:
                      cache.add(stemp)
                      res.append(new_perm)
      return res
masked: def sample_funcname ( var_0 ) :
      var_1 = [ [ ] ]
      for var_4 in range ( len ( var_0 ) ) :
          var_6 = set ( )
          while len ( var_1 [ 0 ] ) == var_4 :
              var_9 = var_1.pop ( 0 )
              for var_11 in range ( len ( var_9 ) + 1 ) :
                  var_12 = var_9 [ : var_11 ] + [ var_0 [ var_4 ] ] + var_9 [ var_11 : ]
                  var_17 = ''.join ( map ( str , var_12 ) )
                  if var_17 not in var_6 :
                      var_6.add ( var_17 )
                      var_1.append ( var_12 )
      return var_1
  