fork download
  1. def find_max_min(arr, idx=0, max_val=None, min_val=None):
  2. # Base case: if the index reaches the end of the array
  3. if idx == len(arr):
  4. return max_val, min_val
  5.  
  6. # If max_val or min_val is None, initialize them with the first element of the array
  7. if max_val is None:
  8. max_val = arr[idx]
  9. if min_val is None:
  10. min_val = arr[idx]
  11.  
  12. # Update max_val and min_val based on the current element
  13. if arr[idx] > max_val:
  14. max_val = arr[idx]
  15. elif arr[idx] < min_val:
  16. min_val = arr[idx]
  17.  
  18. # Recursively call the function with the next index
  19. return find_max_min(arr, idx + 1, max_val, min_val)
  20.  
  21. # Test the function
  22. arr = [5, 3, 8, 1, 10, 2]
  23. max_val, min_val = find_max_min(arr)
  24. print("Maximum element:", max_val)
  25. print("Minimum element:", min_val)
  26.  
Success #stdin #stdout 0.04s 9716KB
stdin
Standard input is empty
stdout
Maximum element: 10
Minimum element: 1