Write logic to find the median value from an ArrayList.
Given a non-empty list of numbers, return its median. Sort a copy of the input so the original list remains unchanged. For an even number of values, return the average of the two middle values.
Input: nums, a non-empty list of integers. Output: the median as a number.
def find_median(nums):