LeetCode 1131. 绝对值表达式的最大值(数学 绝对值展开)
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給你兩個長度相等的整數數組,返回下面表達式的最大值:
|arr1[i] - arr1[j]| + |arr2[i] - arr2[j]| + |i - j|其中下標 i,j 滿足 0 <= i, j < arr1.length。
示例 1: 輸入:arr1 = [1,2,3,4], arr2 = [-1,4,5,6] 輸出:13示例 2: 輸入:arr1 = [1,-2,-5,0,10], arr2 = [0,-2,-1,-7,-4] 輸出:20提示: 2 <= arr1.length == arr2.length <= 40000 -10^6 <= arr1[i], arr2[i] <= 10^6來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/maximum-of-absolute-value-expression
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
只有這8種可能
arr1[i]?arr1[j]+arr2[i]?arr2[j]+i?j;?arr1[i]+arr1[j]?arr2[i]+arr2[j]?i+j;?arr1[i]+arr1[j]+arr2[i]?arr2[j]+i?j;arr1[i]?arr1[j]?arr2[i]+arr2[j]+i?j;arr1[i]?arr1[j]+arr2[i]?arr2[j]?i+j;?arr1[i]+arr1[j]?arr2[i]+arr2[j]+i?j;arr1[i]?arr1[j]?arr2[i]+arr2[j]?i+j;?arr1[i]+arr1[j]+arr2[i]?arr2[j]?i+j;arr1[i] - arr1[j] + arr2[i] - arr2[j] + i - j;\\ -arr1[i] + arr1[j] - arr2[i] + arr2[j] - i + j;\\ -arr1[i] + arr1[j] + arr2[i] - arr2[j] + i - j;\\ arr1[i] - arr1[j] - arr2[i] + arr2[j] + i - j;\\ arr1[i] - arr1[j] + arr2[i] - arr2[j] - i + j;\\ -arr1[i] + arr1[j] - arr2[i] + arr2[j] + i - j;\\ arr1[i] - arr1[j] - arr2[i] + arr2[j] - i + j;\\ -arr1[i] + arr1[j] + arr2[i] - arr2[j] - i + j;arr1[i]?arr1[j]+arr2[i]?arr2[j]+i?j;?arr1[i]+arr1[j]?arr2[i]+arr2[j]?i+j;?arr1[i]+arr1[j]+arr2[i]?arr2[j]+i?j;arr1[i]?arr1[j]?arr2[i]+arr2[j]+i?j;arr1[i]?arr1[j]+arr2[i]?arr2[j]?i+j;?arr1[i]+arr1[j]?arr2[i]+arr2[j]+i?j;arr1[i]?arr1[j]?arr2[i]+arr2[j]?i+j;?arr1[i]+arr1[j]+arr2[i]?arr2[j]?i+j;
把 j 拿走
arr1[i]+arr2[i]+i;?arr1[i]?arr2[i]?i;?arr1[i]+arr2[i]+i;arr1[i]?arr2[i]+i;arr1[i]+arr2[i]?i;?arr1[i]?arr2[i]+i;arr1[i]?arr2[i]?i;?arr1[i]+arr2[i]?i;arr1[i] + arr2[i] + i;\\ -arr1[i] - arr2[i] - i;\\ -arr1[i] + arr2[i] + i;\\ arr1[i] - arr2[i] + i;\\ arr1[i] + arr2[i] - i;\\ -arr1[i] - arr2[i] + i;\\ arr1[i] - arr2[i] - i;\\ -arr1[i] + arr2[i] - i;\\ arr1[i]+arr2[i]+i;?arr1[i]?arr2[i]?i;?arr1[i]+arr2[i]+i;arr1[i]?arr2[i]+i;arr1[i]+arr2[i]?i;?arr1[i]?arr2[i]+i;arr1[i]?arr2[i]?i;?arr1[i]+arr2[i]?i;
發現只有4種情況
arr1[i]+arr2[i]+iasA;?arr1[i]?arr2[i]?ias?A;?arr1[i]+arr2[i]+iasB;arr1[i]?arr2[i]+iasC;arr1[i]+arr2[i]?iasD;?arr1[i]?arr2[i]+ias?D;arr1[i]?arr2[i]?ias?B;?arr1[i]+arr2[i]?ias?C;arr1[i] + arr2[i] + i \quad as A;\\ -arr1[i] - arr2[i] - i \quad as -A;\\ -arr1[i] + arr2[i] + i \quad as B;\\ arr1[i] - arr2[i] + i \quad as C;\\ arr1[i] + arr2[i] - i \quad as D;\\ -arr1[i] - arr2[i] + i \quad as -D;\\ arr1[i] - arr2[i] - i \quad as -B;\\ -arr1[i] + arr2[i] - i \quad as -C; arr1[i]+arr2[i]+iasA;?arr1[i]?arr2[i]?ias?A;?arr1[i]+arr2[i]+iasB;arr1[i]?arr2[i]+iasC;arr1[i]+arr2[i]?iasD;?arr1[i]?arr2[i]+ias?D;arr1[i]?arr2[i]?ias?B;?arr1[i]+arr2[i]?ias?C;
只需要取出ABCD,求其最大最小值,做差
100 ms 23.2 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 1131. 绝对值表达式的最大值(数学 绝对值展开)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客 牛牛爱喝酒(模拟)
- 下一篇: Pytorch 神经网络nn模块