微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[Swift]LeetCode1131. 绝对值表达式的最大值 | Maximum of Absolute Value Expression

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
?微信公众号:山青咏芝(shanqingyongzhi)
?博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
?GitHub地址:https://github.com/strengthen/LeetCode
?原文地址:https://www.cnblogs.com/strengthen/p/11223723.html 
?如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章
?原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

Given two arrays of integers with equal lengths,return the maximum value of:

|arr1[i] - arr1[j]| + |arr2[i] - arr2[j]| + |i - j|

where the maximum is taken over all 0 <= i,j < arr1.length.

Example 1:

Input: arr1 = [1,2,3,4],arr2 = [-1,4,5,6]
Output: 13

Example 2:

Input: arr1 = [1,-2,-5,10],arr2 = [0,-1,-7,-4]
Output: 20

Constraints:

  • 2 <= arr1.length == arr2.length <= 40000
  • -10^6 <= arr1[i],arr2[i] <= 10^6

给你两个长度相等的整数数组,返回下面表达式的最大值:

|arr1[i] - arr1[j]| + |arr2[i] - arr2[j]| + |i - j|

其中下标 ij 满足 0 <= i,j < arr1.length

示例 1:

输入:arr1 = [1,6]
输出:13

示例 2:

输入:arr1 = [1,-4]
输出:20

提示

  • 2 <= arr1.length == arr2.length <= 40000
  • -10^6 <= arr1[i],arr2[i] <= 10^6
Runtime: 200 ms
Memory Usage: 21.3 MB
 1 class Solution {
 2     func maxAbsValExpr(_ arr1: [Int],_ arr2: [Int]) -> Int {
 3         var n:Int = arr1.count
 4         var ans:Int = 0
 5         var maxmm:Int = Int.min / 2
 6         var maxmp:Int = Int.min / 2
 7         var maxpm:Int = Int.min / 2
 8         var maxpp:Int = Int.min / 2
 9         for i in 0..<n
10         {
11             maxmm = max(maxmm,-arr1[i] - arr2[i]-i)
12             maxmp = max(maxmp,-arr1[i] + arr2[i]-i)
13             maxpm = max(maxpm,arr1[i] - arr2[i]-i)
14             maxpp = max(maxpp,arr1[i] + arr2[i]-i)
15             ans = max(ans,maxmm + arr1[i] + arr2[i]+i)
16             ans = max(ans,maxmp + arr1[i] - arr2[i]+i)
17             ans = max(ans,maxpm - arr1[i] + arr2[i]+i)
18             ans = max(ans,maxpp - arr1[i] - arr2[i]+i)
19         }
20         return ans        
21     }
22 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐