human
Solve in Python:
You are given an integer array nums. The value of this array is defined as the sum of |nums[i]-nums[i+1]| for all 0 <= i < nums.length-1.
You are allowed to select any subarray of the given array and reverse it. You can perform this operation only once.
Find maximum possible value of the final array.
 
Example 1:
Input: nums = [2,3,1,5,4]
Output: 10
Explanation: By reversing the subarray [3,1,5] the array becomes [2,5,1,3,4] whose value is 10.

Example 2:
Input: nums = [2,4,9,24,2,1,10]
Output: 68

 
Constraints:

1 <= nums.length <= 3*10^4
-10^5 <= nums[i] <= 10^5
assistant
#Here is Python program to find maximum possible value of the final array.

class Solution:
    def maxValueAfterReverse(self, nums: List[int]) -> int:
        ans = sum(abs(nums[i+1]-nums[i]) for i in range(len(nums)-1))
        d = 0
        for i in range(1, len(nums)-1):
            d = max(d, abs(nums[0]-nums[i+1]) - abs(nums[i]-nums[i+1]),
                       abs(nums[-1]-nums[i-1]) - abs(nums[i]-nums[i-1]))
        high = -math.inf
        low = math.inf
        for x, y in zip(nums, nums[1:]):
            high = max(high, min(x,y))
            low = min(low, max(x,y))
        
        return ans + max(d, (high-low)*2)