parameters: (self, nums)
return_statement: return n-l
docstring: :type nums: List[int]
          :rtype: int
docstring_summary: :type nums: List[int]
          :rtype: int
docstring_tokens: : type nums : List [ int ] : rtype : int
function: def minOperations(self, nums):
          """
          :type nums: List[int]
          :rtype: int
          """
          def unique(nums):
              left = 0
              for right in xrange(1, len(nums)):
                  if nums[left] != nums[right]:
                      left += 1
                      nums[left] = nums[right]
              return left
  
          def erase(nums, i):
              while len(nums) > i+1:
                  nums.pop()
  
          n = len(nums)
          nums.sort()
          erase(nums, unique(nums))
          result = l = 0
          for i in xrange(len(nums)):
              if nums[i] <= nums[i-l]+n-1:
                  l += 1
          return n-l
function_tokens: def minOperations ( self , nums ) : def unique ( nums ) : left = 0 for right in xrange ( 1 , len ( nums ) ) : if nums [ left ] != nums [ right ] : left += 1 nums [ left ] = nums [ right ] return left def erase ( nums , i ) : while len ( nums ) > i + 1 : nums . pop ( ) n = len ( nums ) nums . sort ( ) erase ( nums , unique ( nums ) ) result = l = 0 for i in xrange ( len ( nums ) ) : if nums [ i ] <= nums [ i - l ] + n - 1 : l += 1 return n - l