思路:

首先计算原数组的数组值,然后从左到右扫描数组,找到最大的相邻两个数之差,将这两个数之间的子数组翻转,重新计算数组值,取最大值即可。

具体实现:

1.计算原数组的数组值

2.从左到右扫描数组,找到最大的相邻两个数之差

3.将这两个数之间的子数组翻转

4.重新计算数组值

5.取最大值

Java代码实现 给你一个整数数组 nums 。「数组值」定义为所有满足 0 = i numslength-1 的 numsi-numsi+1 的和。你可以选择给定数组的任意子数组并将该子数组翻转。但你只能执行这个操作 一次 。请你找到可行的最大 数组值 。

原文地址: https://www.cveoy.top/t/topic/fUAn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录