【每日一题Day204】LC1330翻转子数组得到最大的数组值 | 数学

简介: 【每日一题Day204】LC1330翻转子数组得到最大的数组值 | 数学

翻转子数组得到最大的数组值【LC1330】

给你一个整数数组 nums 。「数组值」定义为所有满足 0 <= i < nums.length-1|nums[i]-nums[i+1]| 的和。

你可以选择给定数组的任意子数组,并将该子数组翻转。但你只能执行这个操作 一次

请你找到可行的最大 数组值 

emm…早上起来发烧了,然后去了医院发现阳了,之前那么多人阳都没有阳过。也许是拔完智齿抵抗力下降就阳了?

这种下次遇到也不会的题目就不过多研究了

  • 思路:数学题
    分情况讨论,化简不等式【略】
    灵神题解,不是我能做出来的
  • 实现
class Solution {
    public int maxValueAfterReverse(int[] nums) {
        int base = 0, d = 0, n = nums.length;
        int mx = Integer.MIN_VALUE, mn = Integer.MAX_VALUE;
        for (int i = 1; i < n; i++) {
            int a = nums[i - 1], b = nums[i];
            int dab = Math.abs(a - b);
            base += dab;
            mx = Math.max(mx, Math.min(a, b));
            mn = Math.min(mn, Math.max(a, b));
            d = Math.max(d, Math.max(Math.abs(nums[0] - b) - dab, // i=0
                                     Math.abs(nums[n - 1] - a) - dab)); // j=n-1
        }
        return base + Math.max(d, 2 * (mx - mn));
    }
}
作者:灵茶山艾府
链接:https://leetcode.cn/problems/reverse-subarray-to-maximize-array-value/solutions/2266500/bu-hui-hua-jian-qing-kan-zhe-pythonjavac-c2s6/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

复杂度分析

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)
目录
相关文章
|
5月前
|
索引
【每日一题Day131】LC1144递减元素使数组呈锯齿状 | 贪心+枚举
【每日一题Day131】LC1144递减元素使数组呈锯齿状 | 贪心+枚举
25 0
|
5月前
【每日一题Day292】LC1572矩阵对角线元素的和 模拟
【每日一题Day292】LC1572矩阵对角线元素的和 模拟
15 0
|
5月前
|
存储
【每日一题Day253】LC2两数相加 | 链表模拟
【每日一题Day253】LC2两数相加 | 链表模拟
16 0
|
5月前
|
Java
【每日一题Day121】LC1139最大的以 1 为边界的正方形 | 前缀和数组 + 枚举
【每日一题Day121】LC1139最大的以 1 为边界的正方形 | 前缀和数组 + 枚举
16 0
|
1月前
|
算法 测试技术 C#
【分类讨论】【解析几何】【 数学】【推荐】1330. 翻转子数组得到最大的数组值
【分类讨论】【解析几何】【 数学】【推荐】1330. 翻转子数组得到最大的数组值
|
4月前
|
存储 测试技术 索引
每日一题——除自身以外数组的乘积
每日一题——除自身以外数组的乘积
|
5月前
【每日一题Day368】LC421数组中两个数的最大异或值 | 字典树
【每日一题Day368】LC421数组中两个数的最大异或值 | 字典树
18 0
|
5月前
【每日一题Day122】LC1237找出给定方程的正整数解 | 双指针 二分查找
【每日一题Day122】LC1237找出给定方程的正整数解 | 双指针 二分查找
23 0
|
5月前
【每日一题Day255】LC2679矩阵中的和 | 排序
【每日一题Day255】LC2679矩阵中的和 | 排序
14 0
|
5月前
|
Java
每日一题《剑指offer》数组篇之顺时针打印矩阵
每日一题《剑指offer》数组篇之顺时针打印矩阵
31 0
每日一题《剑指offer》数组篇之顺时针打印矩阵