input: Write a function to find the most common elements in an array of integers. If the array is empty, return an empty list.
  def most_common(nums):
      # Create a dictionary to store the counts
      counts = {}
  
      # Iterate over the elements
      for num in nums:
          # If the element is not present in the dictionary, add it
          if num not in counts:
              counts[num] = 0
  
          # Update the count
          counts[num] += 1
  
      # Get the maximum count
      max_count = max(counts.values())
  
      # Return the elements that have maximum count
      return [num for num, count in counts.items() if count == max_count]
  assert most_common([3, 4, 1, 2, 5, 3, 3]) == [3]
  assert most_common([1, 2, 2, 3, 3, 3, 4, 4, 4, 4]) == [4]
  assert most_common([1, 2, 3, 4, 5]) == [1, 2, 3, 4, 5]
  assert most_common([]) == []
output: def most_common(nums):
      if not nums:
          return []
      counts = {}
      for num in nums:
          if num not in counts:
              counts[num] = 0
          counts[num] += 1
      max_count = max(counts.values())
      return [num for num, count in counts.items() if count == max_count]