input: Write a python function to find all possible subsets of a given set.
  assert find_subsets([1, 2, 3]) == [[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
  assert find_subsets([0]) == [[], [0]]
  assert find_subsets([]) == [[]]
  assert find_subsets([1, 2]) == [[], [1], [2], [1, 2]]
output: def find_subsets(nums):
      def backtrack(start, path):
          res.append(path)
          for i in range(start, len(nums)):
              backtrack(i + 1, path + [nums[i]])
      
      res = []
      backtrack(0, [])
      return res