左神算法 最大的leftMax和rightMax之差的绝对值

一、数组左、右部分最大值绝对值之差的最大值
给定一个数组arr,将数组划分成左、右两部分,有n-1种划分方法,求左右部分最大值之差绝对值的最大值,有三种解法。
【解法一】时间复杂度O(N2),空间复杂度O(1)
暴力解
【解法二】时间复杂度O(N),空间复杂度O(N)
先根据arr求得辅助数组lArr和rArr
lArr[i]表示从arr[0]到arr[i]的最大值,rArr[i]表示从arr[i]到arr[arr.length-1]的最大值
【解法三】时间复杂度O(N),空间复杂度O(1)
发现题目中都是左右部分的最大值,那这两个最大值中必有一个是整个数组的最大值。
1、如果全局最大值是在左边部分,那么要让差的绝对值最大,右边部分只能取最后一个数。
2、如果全局最大值是在右边部分,那么要让差的绝对值最大,左边部分只能取第一个数。
这样能保证另一部分的最大值尽可能小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值