input: Write a function to find the maximum sum of an array of non-negative integers given an upper limit value. If the given array or limit is empty then return 0.
  
  assert findMaxSum(10, [1, 3, 5, 4, 2, 6])==10
  assert findMaxSum(8, [1, 3, 5, 4, 2, 6])==8
  assert findMaxSum(20, [1, 3, 5, 4, 2, 6])==21
  assert findMaxSum(0, [1, 2, 3])==0
  assert findMaxSum(-5, [1, 2, 3])==0
output: def findMaxSum(limit, arr):
      if not arr or limit < 0:
          return 0
      arr.sort(reverse=True)
      current_sum = 0
      for num in arr:
          if current_sum + num <= limit:
              current_sum += num
          if current_sum == limit:
              break
      return current_sum