[Swift]LeetCode1131. 绝对值表达式的最大值 | Maximum of Absol
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ Given two arrays of integers with equal lengths,return the maximum value of:
where the maximum is taken over all? 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:
给你两个长度相等的整数数组,返回下面表达式的最大值:
其中下标? 示例 1: 输入:arr1 = [1,6] 输出:13 示例 2: 输入:arr1 = [1,-4] 输出:20 提示:
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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |