当前位置: 首页 > news >正文

​LeetCode解法汇总1749. 任意子数组和的绝对值的最大值

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

给你一个整数数组 nums 。一个子数组 [numsl, numsl+1, ..., numsr-1, numsr] 的 和的绝对值 为 abs(numsl + numsl+1 + ... + numsr-1 + numsr) 。

请你找出 nums 中 和的绝对值 最大的任意子数组(可能为空),并返回该 最大值 。

abs(x) 定义如下:

  • 如果 x 是负整数,那么 abs(x) = -x 。
  • 如果 x 是非负整数,那么 abs(x) = x 。

示例 1:

输入:nums = [1,-3,2,3,-4]
输出:5
解释:子数组 [2,3] 和的绝对值最大,为 abs(2+3) = abs(5) = 5 。

示例 2:

输入:nums = [2,-5,1,-4,3,-2]
输出:8
解释:子数组 [-5,1,-4] 和的绝对值最大,为 abs(-5+1-4) = abs(-8) = 8 。

提示:

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

解题思路:

/**

* 1749. 任意子数组和的绝对值的最大值

* 1,-3,2,3,-4

* 2,-5,1,-4,3,-2

* 解题思路:

* 动态规划,构建2个数组dp1和dp2,dp1[i]代表数组右区间为i位,可能的最大的正数数组和,dp2[i]则为负数。

* 遍历的时候,如果nums[i+1] + dp1[i]>0,则dp1[i+1]=nums[i+1] + dp1[i],否则dp1[i+1]=0。dp2也是一样的逻辑。

* 找dp1和dp2最大的绝对值即可。

*/

代码:

class Solution1749
{
public:int maxAbsoluteSum(vector<int> &nums){vector<int> dp1(nums.size());vector<int> dp2(nums.size());if (nums[0] >= 0){dp1[0] = nums[0];dp2[0] = 0;}else{dp1[0] = 0;dp2[0] = nums[0];}int absValue = max(abs(dp1[0]), abs(dp2[0]));for (int i = 1; i < nums.size(); i++){int value = nums[i];if (value >= 0){dp1[i] = value + dp1[i - 1];dp2[i] = min(value + dp2[i - 1], 0);}else{dp1[i] = max(value + dp1[i - 1], 0);dp2[i] = value + dp2[i - 1];}absValue = max(absValue, max(abs(dp1[i]), abs(dp2[i])));}return absValue;}
};

相关文章:

​LeetCode解法汇总1749. 任意子数组和的绝对值的最大值

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 给你一个整数数组 nums 。一个子数组 [numsl, numsl1, ..., numsr-1, numsr] 的…...

4.2、Flink任务怎样读取文件中的数据

目录 1、前言 2、readTextFile&#xff08;已过时&#xff0c;不推荐使用&#xff09; 3、readFile&#xff08;已过时&#xff0c;不推荐使用&#xff09; 4、fromSource(FileSource) 推荐使用 1、前言 思考: 读取文件时可以设置哪些规则呢&#xff1f; 1. 文件的格式(tx…...

Effective Java笔记(28)列表优于数组

数组与泛型相比&#xff0c;有两个重要的不同点 。 首先&#xff0c;数组是协变的&#xff08; covariant &#xff09; 。 这个词听起来有点吓人&#xff0c;其实只是表示如果 Sub 为 Super 的子类型&#xff0c;那么数组类型 Sub[ ]就是Super[ ]的子类型。 相反&#xff0c;泛…...

做BI领域的ChatGPT,思迈特升级一站式ABI平台

8月8日&#xff0c;以「指标驱动 智能决策」为主题&#xff0c;2023 Smartbi V11系列新品发布会在广州丽思卡尔顿酒店开幕。 ​ 后疫情时代&#xff0c;BI发展趋势的观察与应对 在发布会上&#xff0c;思迈特CEO吴华夫在开场致辞中表示&#xff0c;当前大环境背景下&#xf…...

ELFK——ELK结合filebeat日志分析系统(2)

目录 一、filebeat 二、ELFK 1.原理简介 2.在ELK基础上部署filebeat 一、filebeat Filebeat&#xff0c;轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat&#xff0c;并指定目录与日志格式&#xff0c;Filebeat 就能快速收集数据&#xff0c;并…...

webSocket 协议是什么

webSocket 协议是什么&#xff0c;能简述一下吗&#xff1f; websocket 协议 HTML5 带来的新协议&#xff0c;相对于 http&#xff0c;它是一个持久连接的协议&#xff0c;它利用 http 协议完成握手&#xff0c;然后通过 TCP 连接通道发送消息&#xff0c;使用 websocket 协议可…...

CentOS 7迁移Anolis OS 8

背景&#xff1a;生产环境客户要求操作系统国产化 操作系统&#xff1a;Centos7.9 内核&#xff1a;5.4.108 服务器可以联网&#xff0c;进行在线迁移&#xff1a; # 下载迁移工具软件源 wget https://mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/y…...

Transformer 立体视觉 Depth Estimation

1. Intro 立体深度估计具有重要的意义,因为它能够重建三维信息。为此,在左右相机图像之间匹配相应的像素;对应像素位置的差异,即视差,可以用来推断深度并重建3D场景。最近基于深度学习的立体深度估计方法已经显示出有希望的结果,但仍然存在一些挑战。 其中一个挑战涉及使…...

vue去掉所有输入框两边空格,封装指令去空格,支持Vue2和Vue3,ElementUI Input去空格

需求背景 就是页面很多表单输入框&#xff0c;期望在提交的时候&#xff0c;都要把用户两边的空格去掉 ❌使用 vue 的指令 .trim 去掉空格 中间会输入不了空格&#xff0c; 比如我想输入 你好啊 中国, 这中间的空格输入不了&#xff0c;只能变成 你好啊中国 ❌在提交的时候使用…...

认识FFMPEG框架

FFMPEG全称: Fast Forward Moving Picture Experts Group (MPEG:动态图像专家组) ffmpeg相关网站: git://source.ffmpeg.org/ffmpeg.git http://git.videolan.org/?pffmpeg.git https://github.com/FFmpeg/FFmpeg FFMPEG框架基本组件: AVFormat , AVCodec, AVDevice, AVFil…...

Vue3 大屏数字滚动效果

父组件&#xff1a; <template> <div class"homePage"> <NumRoll v-for"(v, i) in numberList" :key"i" :number"v"></NumRoll> </div> </template> <script setup> import { onMounted, r…...

【深度学习注意力机制系列】—— SENet注意力机制(附pytorch实现)

深度学习中的注意力机制&#xff08;Attention Mechanism&#xff09;是一种模仿人类视觉和认知系统的方法&#xff0c;它允许神经网络在处理输入数据时集中注意力于相关的部分。通过引入注意力机制&#xff0c;神经网络能够自动地学习并选择性地关注输入中的重要信息&#xff…...

go 函数

go 语言函数 go 函数函数定义Go函数的特点如下函数作为参数可变参数相同类型可变参数不同类型可变参数 return语句作用概述空的return语句空白标识符多个返回值命名返回值 defer 语句作用引申出来的面试题for defer下面是一个使用defer的示例代码输出结果 匿名函数定义匿名函数…...

python之正则表达式

目录 正则表达式 python正则表达式方法 match search findall finditer compile 元字符匹配 元字符 量词 贪婪匹配和惰性匹配 正则表达式的group 语法 案例 正则表达式 正则表达式又称规则表达式&#xff0c;是使用单个字符串来描述、匹配某个句法规则的字符串…...

【LeetCode每日一题】——219.存在重复元素II

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 简单 三【题目编号】 219.存在重复元素II 四【题目描述】 给你一个…...

篇六:适配器模式:让不兼容变兼容

篇六&#xff1a;“适配器模式&#xff1a;让不兼容变兼容” 开始本篇文章之前先推荐一个好用的学习工具&#xff0c;AIRIght&#xff0c;借助于AI助手工具&#xff0c;学习事半功倍。欢迎访问&#xff1a;http://airight.fun/ 另外有2本不错的关于设计模式的资料&#xff0c…...

【云原生】Docker-compose中所有模块学习

compose模块 模板文件是使用 Compose 的核心&#xff0c;涉及到的指令关键字也比较多。但大家不用担心&#xff0c;这里面大部分指令跟 docker run 相关参数的含义都是类似的。 默认的模板文件名称为 docker-compose.yml&#xff0c;格式为 YAML 格式。 version: "3&quo…...

广义积分练习

前置知识 无穷限积分瑕积分 练习 计算 ∫ 0 ∞ 1 x ( 1 x ) d x \int_0^{\infty}\dfrac{1}{\sqrt x(1x)}dx ∫0∞​x ​(1x)1​dx 解&#xff1a; x 0 \qquad x0 x0为瑕点 \qquad 原式 lim ⁡ a → 0 lim ⁡ b → ∞ ∫ a b 1 x ( 1 x ) d x lim ⁡ a → 0 lim ⁡…...

element-ui树形表格,左边勾选,右边显示选中的数据-功能(如动图)

功能如图 功能需求 表格树形表格勾选数据&#xff0c;右边显示对应勾选的数据内容&#xff0c;选中客户&#xff0c;自动勾选所有的店铺(子级)&#xff0c;选中其中一个店铺&#xff0c;自动勾选上客户(父级)&#xff0c;同时会存在只有客户&#xff08;下面没有子级的情况&am…...

Android数字价格变化的动画效果的简单实现

原理&#xff1a;使用ValueAnimator属性动画类实现&#xff0c;它通过值的改变手动设置对象的属性值来实现动画效果。直接贴代码&#xff1a; public static void doNumberAnim(TextView tvPrice, float startNumber, float endNumber) {ValueAnimator animator ValueAnimato…...

随心剪99.2分断层登顶!个人创作者AI剪辑工具权威评测TOP1

——基于800博主实测&#xff0c;30秒一键成片&#xff0c;1人顶5人&#xff0c;轻松实现日更爆款本次评测基于800美食、穿搭、知识、vlog等领域个人创作者的真实使用数据、出片效率复盘及深度访谈&#xff0c;覆盖一键成片速度、智能适配度、素材丰富度、操作便捷性四大核心维…...

终极LibreDWG CAD转换完全指南:5个高效使用技巧

终极LibreDWG CAD转换完全指南&#xff1a;5个高效使用技巧 【免费下载链接】libredwg Official mirror of libredwg. With CI hooks and nightly releases. PRs ok 项目地址: https://gitcode.com/gh_mirrors/li/libredwg LibreDWG是一款强大的开源CAD文件处理库&#…...

爬虫进阶:如何用ProxyPool代理池+随机UA绕过掌上高考的反爬?保姆级避坑指南

数据采集实战&#xff1a;构建高隐蔽性教育信息采集系统的关键技术解析 教育数据采集领域近年来呈现出明显的技术对抗态势&#xff0c;平台方不断升级防御机制&#xff0c;而数据采集方则需要持续优化技术手段。本文将系统性地介绍构建高隐蔽性教育信息采集系统的完整技术方案&…...

如何用AI智能分层技术将单张插画转化为可编辑的PSD文件

如何用AI智能分层技术将单张插画转化为可编辑的PSD文件 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否曾经面对一张精美的插画&#xff0c;想要对…...

运维视角:用非Root用户安全部署KingbaseES数据库,附服务注册与状态检查命令

运维实战&#xff1a;以非Root用户安全部署KingbaseES数据库的完整指南 在企业的生产环境中&#xff0c;数据库作为核心数据存储组件&#xff0c;其部署安全性往往被许多运维团队忽视。传统教程中常见的"root用户直接安装"方式&#xff0c;实际上为企业埋下了严重的安…...

5步快速上手OmenSuperHub:彻底掌控暗影精灵性能的终极指南

5步快速上手OmenSuperHub&#xff1a;彻底掌控暗影精灵性能的终极指南 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否对官方Omen Gaming Hub的臃肿…...

为什么你的Perplexity本地服务响应慢3.7倍?:NVIDIA驱动版本、vLLM推理后端与量化精度的隐性博弈

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity本地服务查询 Perplexity 作为一款强调实时信息检索与引用溯源的 AI 工具&#xff0c;其官方未提供公开的本地化部署方案。但开发者可通过构建轻量级代理服务&#xff0c;将本地运行的大语言模型&a…...

三极管Ube到底变不变?从静态分析到动态放大,一张图帮你彻底搞懂

三极管Ube到底变不变&#xff1f;从静态分析到动态放大&#xff0c;一张图帮你彻底搞懂 刚接触三极管放大电路时&#xff0c;很多初学者都会被一个看似矛盾的现象困扰&#xff1a;教科书告诉我们三极管的Ube电压恒定为0.7V&#xff0c;但在分析动态放大过程时&#xff0c;又说U…...

深度解析Py-ART雷达数据处理:从数据校正到高级反演的全流程实战

深度解析Py-ART雷达数据处理&#xff1a;从数据校正到高级反演的全流程实战 【免费下载链接】pyart The Python-ARM Radar Toolkit. A data model driven interactive toolkit for working with weather radar data. 项目地址: https://gitcode.com/gh_mirrors/py/pyart …...

Arm Neoverse N2与CMN-700系统中的PoC与缓存一致性解析

1. Neoverse N2与CMN-700系统中的PoC定位解析 在基于Arm Neoverse N2处理器和CMN-700互连架构的系统中&#xff0c;理解Point of Coherency&#xff08;PoC&#xff09;的位置对于正确执行缓存维护操作至关重要。PoC是系统中所有能够访问内存的代理&#xff08;包括那些未连接到…...