首页 > 其他分享 >力扣---1911. 最大子序列交替和

力扣---1911. 最大子序列交替和

时间:2023-07-11 18:35:24浏览次数:41  
标签:力扣 dp2 dp1 nums --- 交替 数组 序列 1911

一个下标从 0 开始的数组的 交替和 定义为 偶数 下标处元素之  减去 奇数 下标处元素之  。

  • 比方说,数组 [4,2,5,3] 的交替和为 (4 + 5) - (2 + 3) = 4 。

给你一个数组 nums ,请你返回 nums 中任意子序列的 最大交替和 (子序列的下标 重新 从 0 开始编号)。

一个数组的 子序列 是从原数组中删除一些元素后(也可能一个也不删除)剩余元素不改变顺序组成的数组。比方说,[2,7,4] 是 [4,2,3,7,2,1,4] 的一个子序列(加粗元素),但是 [2,4,2] 不是。

 

示例 1:

输入:nums = [4,2,5,3]
输出:7
解释:最优子序列为 [4,2,5] ,交替和为 (4 + 5) - 2 = 7 。

示例 2:

输入:nums = [5,6,7,8]
输出:8
解释:最优子序列为 [8] ,交替和为 8 。

示例 3:

输入:nums = [6,2,1,2,4,5]
输出:10
解释:最优子序列为 [6,1,5] ,交替和为 (6 + 5) - 1 = 10 。

 

提示:

  • 1 <= nums.length <= 105
  • 1 <= nums[i] <= 105

 

前两天出了点事,导致力扣连续三百天的打卡断掉了,瞬间有些迷惘。

寄。

动态规划。

乍一看似乎需要考虑的东西有点多,实际上,可以想到:当前选定长度为奇数的交替和,实际上就等于长度为偶数的交替和加上当前位置的数字。而长度为偶数的交替和,等于当前长度为奇数的交替和减去当前位置的数字。

class Solution {
    public long maxAlternatingSum(int[] nums) {
        long dp1 = nums[0];
        long dp2 = 0L;
        for (int i = 1; i < nums.length; i ++) {
            dp2 = Math.max(dp2, dp1 - nums[i]);
            dp1 = Math.max(0, dp2 + nums[i]);
        }
        return dp1;
    }
}

标签:力扣,dp2,dp1,nums,---,交替,数组,序列,1911
From: https://www.cnblogs.com/allWu/p/17545619.html

相关文章

  • 记录--盘点前端实现文件下载的几种方式
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前端涉及到的文件下载还是很多应用场景的,那么前端文件下载有多少种方式呢?每种方式有什么优缺点呢?下面就来一一介绍。1.使用a标签下载通过a标签的download属性来实现文件下载,这种方式是最简单的,也是我们比较常用......
  • element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
    element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)原文链接:https://blog.csdn.net/wyhstars/article/details/81672195前段时间,在实现带输入建议并且支持模糊查询输入框的时候,发现了两个值得注意的小地方。整理出来,以供借鉴。废话不多说,直......
  • C++自助点餐系统[2023-07-06]
    C++自助点餐系统[2023-07-06]面向对象程序课程设计任务书【题目】自助点餐系统【目的】通过设计一个小型的自助点餐系统,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,使自己的程序设计与调试水平有一个明显的提高。【要求】1、每个学生必须独立完成;2......
  • 标准夹装中型传感器TM-1外夹式安装无损安装lora/4G/wifi无线超声波流量计
    19936624847 daq-iot.com......
  • elementui文本框_element UI el-autocomplete组件 带输入建议的输入框
    elementui文本框_elementUIel-autocomplete组件带输入建议的输入框原文链接:elementui文本框_elementUIel-autocomplete带输入建议的输入框项目需求:需要用户在输入框中输入公司全名  但是为了避免用户输入不全  需要做一个带输入建议的输入框element组件:class......
  • linux 中ls -F 选项
     ls-F选项在输出项追加文件的类型标识符。例如:001、[root@PC1test02]#ls##测试文件testtest01.txttest02.txttest03.txttest04.txtxxx001.pedxxx003.pedtest01.csvtest02.csvtest03.csvtest03.txt.linktest05.txtxxx002.ped......
  • 对话AI--AI与人类共存的未来,该怎样理解人与AI的关系
    AI回答一:人类与AI共存的未来是一个复杂而有挑战性的议题。在这个未来,人类和AI之间的关系应该是相互依存、合作互补的。首先,人类和AI可以共同合作,以提高生产力、创造力和效率。AI可以帮助人类完成重复性、繁琐或危险的任务,从而释放人类的时间和精力去专注于更有意义和创造性......
  • C++停车场管理系统[2023-07-06]
    C++停车场管理系统[2023-07-06]停车场管理系统简介一、 问题描述设停车场是一个可停放若干辆辆汽车的狭多层平面区域,且只有一个大门可供汽车进出。若车场内已停满汽车,则后来的汽车只能在门外的狭长便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可进入。每辆停放在车......
  • 《C++程序设计》[2023-07-06]
    《C++程序设计》[2023-07-06]智能与工程学院《C++程序设计》小组学习任务书第2次专业年级:2022级计算机指导教师:李佳佳2022-2023学年第2学期一、任务根据课程所学,利用C++泛型编程思想、STL、模板、I\O流和异常处理等,以小组为单位完成基于STL泛化......
  • PlayWright(十五)- 配置文件
    上文中我们学习了前置后置,今天我们来学下配置文件,配置文件是什么呢? 1、配置文件是什么先来讲下背景:我们之前执行代码的时候是用命令行pytest-s-v,如果是一个项目的话,我们不会每次执行代码都输入-s-v,所以pytest提供了一个功能-配置文件pytest.ini pytest.ini这个就是......