首页 > 试题广场 >

最大的leftMax与rightMax之差的绝对值

[编程题]最大的leftMax与rightMax之差的绝对值
  • 热度指数:838 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为N(N>1)的整形数组arr, 可以划分成左右两个部分,左部分为arr[0…K],右部分为arr[K+1…N-1], K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值中,最大是多少
[要求]
时间复杂度为O(n), 空间复杂度为O(n)

输入描述:
第一行一个整数N,表示数组长度。
接下来一行N个整数,表示数组内的数。


输出描述:
输出一个整数表示最优答案
示例1

输入

5
2 7 3 1 1

输出

6

说明

当左部分为[2, 7],右部分为[3, 1, 1]时,左部分中的最大值减去右部分的最大值的绝对值为4,。当左部分为[2, 7, 3],右部分为[1, 1]时,左部分中的最大值减去右部分最大值的绝对值为6。还有很多划分方案,但最终返回6.

备注:

问题信息

上传者:小小
难度:
4条回答 4613浏览

热门推荐

通过挑战的用户

查看代码
最大的leftMax与rightMax之差的绝对值