comefrom: <doocs>1562.Find Latest Group of Size M_1.py
code: def findLatestStep( arr: List[int], m: int) -> int:
      n = len(arr)
      if m == n:
          return n
      cnt = [0] * (n + 2)
      ans = -1
      for i, v in enumerate(arr):
          v -= 1
          l, r = cnt[v - 1], cnt[v + 1]
          if l == m or r == m:
              ans = i
          cnt[v - l] = cnt[v + r] = l + r + 1
      return ans
masked: def sample_funcname ( var_0 : List [ int ] , var_1 : int ) -> int :
      var_2 = len ( var_0 )
      if var_1 == var_2 :
          return var_2
      var_3 = [ 0 ] * ( var_2 + 2 )
      var_4 = - 1
      for var_5 , var_6 in enumerate ( var_0 ) :
          var_6 -= 1
          var_7 , var_8 = var_3 [ var_6 - 1 ] , var_3 [ var_6 + 1 ]
          if var_7 == var_1 or var_8 == var_1 :
              var_4 = var_5
          var_3 [ var_6 - var_7 ] = var_3 [ var_6 + var_8 ] = var_7 + var_8 + 1
      return var_4
  