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

leetcode 918.环形子数组的最大和

思路:DP

其实和昨天做的哪个重复数组差不多,按顺序来说先做这个题目其实更好。

这里需要分两种情况:第一个,就是数组不越界的时候,这个时候最大子数组和就是leetcode 53题的题解。

如果说越界了,我们还需要注意一点,就是如果你想用链表的方式再加上一个数组,这是不可取的,这里的题目要求直接给你禁止这种耍小聪明的方法了。(同余下标的两个数不能同时取)

所以我们只能想别的办法这里有一点,就是和最小子数组和相联系的一点,就是当我们求出来最小子数组和的时候,剩下的元素不就是最大子数组和了吗?(sum-最小子数组和,sum为总的数组和)你可能会说,啊,这个不是连续的吗?这就是一个技巧问题了,我们可以认为是连续的,因为题目中不就说了吗,是循环的,所以我们越界的时候其实本质上也是连续的。

这样就能解决问题了,最大值就是max(maxs,sum-mins)。

但是还有一种特殊情况,就是当sum==mins也就是最小子数组和就是这个数组本身的和,这里就直接认为是maxs了,为什么?你想,如果是这样的话,那么是不是就不存在最小子数组和了吗?只剩下了最大子数组和了?sum-mins会是0,但是maxs不一定>0,所以我们需要特殊关照一下。

class Solution {
public:int maxSubarraySumCircular(vector<int>& nums) {int n=nums.size();int max_dp=0;int min_dp=0;int maxs=INT_MIN;int mins=INT_MAX;int sum=0;for(int i=0;i<n;i++){max_dp=max(max_dp,0)+nums[i];min_dp=min(min_dp,0)+nums[i];maxs=max(maxs,max_dp);mins=min(min_dp,mins);sum+=nums[i];}return sum==mins?maxs:max(sum-mins,maxs);}
};

相关文章:

leetcode 918.环形子数组的最大和

思路&#xff1a;DP 其实和昨天做的哪个重复数组差不多&#xff0c;按顺序来说先做这个题目其实更好。 这里需要分两种情况&#xff1a;第一个&#xff0c;就是数组不越界的时候&#xff0c;这个时候最大子数组和就是leetcode 53题的题解。 如果说越界了&#xff0c;我们还需…...

Spring中用到的设计模式有哪些

工厂模式,BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象。 单例模式,Spring依赖注入Bean实例默认是单例的。Spring依赖注入(包括lazy-init方式)都是发生在AbstractBeanFactory的getBean里。getBean的doGetBean方法调用getSingleton进行bean的创…...

CSS 样式清单整理:文字超出部分显示省略号和设置placeholder的字体样式

单行文本的溢出显示省略号&#xff08;一定要有宽度&#xff09; p{width:200rpx;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;}多行文本溢出显示省略号 p {display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;}设…...

Docker容器:Docker-Consul 的容器服务更新与发现

目录 前言 一、什么是服务注册与发现 二、 Docker-Consul 概述 1、Consul 概念 2、Consul 提供的一些关键特性 3、Consul 的优缺点 4、传统模式与自动发现注册模式的区别 4.1 传统模式 4.2 自动发现注册模式 5、Consul 核心组件 5.1 Consul-Template组件 5.2 Consu…...

容器化Jenkins远程发布java应用(方式二:自定义镜像仓库远程拉取构建)

1.创建maven项目 2.配置git、maven 3.阿里控制台>容器镜像服务>镜像仓库>创建镜像仓库 4.执行shell脚本&#xff08;推送镜像到阿里云镜像仓库&#xff09; 使用到登录阿里云仓库命令 #!/bin/bash # 服务名称 SERVER_NAMEplanetflix-app # 镜像tag IMAGE_TAG1.0.0-SN…...

解密某游戏的数据加密

前言 最近有个兄弟通过我的视频号加我&#xff0c;咨询能否将这个dubo游戏游戏开始前就将数据拿到从而进行押注&#xff0c;于是通过抓包工具测试了下&#xff0c;发现数据有时候是明文&#xff0c;有时候确实密文&#xff0c;大致看了下有这几种加密&#xff1a;Md5aes、Md5&a…...

【报错合集】完美解决“虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本”

文章目录 解决方案&#xff1a;更改设置的硬件版本 今天我需要将别人的虚拟机克隆到我的VMware Workstation上运行&#xff0c;结果发生了以下的错误&#xff1a; 刚开始以为是VMware Workstation的版本问题太低导致的&#xff0c;所以我删除了原来的那个版本&#xff0c;下载…...

YOLOv8小白中的小白安装环境教程!没一个字废话,看一遍不踩坑!

文章目录 去哪里下代码?怎么下代码?怎么装环境?命令行界面(CLI)指令和Python脚本区别?附录1 conda常用指令附录2 git常用指令附录3 项目代码文件作用去哪里下代码? 下载代码请大家直接去 YOLOv8的官方仓库下载,名字叫 ultralytics,有些镜像网站和个人发的等来历不明的代…...

C#正则表达式,提取信息使用

正则表达式简介 在C#中&#xff0c;正则表达式&#xff08;Regular Expression&#xff0c;通常简写为regex或regexp&#xff09;是一种功能强大的文本处理工具&#xff0c;它使用特定的字符序列来定义搜索模式&#xff0c;从而实现对文本的高效搜索、匹配和替换操作。正则表达…...

【数据结构】详解队列

现在我们来掌握一下队列&#xff01;如果有对往期知识有不足地方&#xff0c;可翻阅之前文章哦&#xff01; 个人主页&#xff1a;小八哥向前冲~-CSDN博客 所属专栏&#xff1a;数据结构【c语言版】_小八哥向前冲~的博客-CSDN博客 栈和队列的实现其实都是对你顺序表和链表的检验…...

大模型微调方法汇总

微调方法 Freeze方法P-tuning方法 prefix-tuningPrompt TuningP-tuning v1P-tuning v2Lora方法 重要相关参数LoRA 的优势Qlora方法 相关参数微调经验 模型选择模型大小选择数据处理微调方案英文模型需要做词表扩充吗&#xff1f;如何避免灾难遗忘大模型的幻觉问题微调后的输出…...

探究NVMe SSD HMB应用场景与影响-<续>

如果需要采用HMB功能&#xff0c;需要SSD支持NVME协议且NVMe 1.2及以上版本。NVME协议中对HMB对应有2个关键参数&#xff1a; HMB建议值&#xff08;HMPRE&#xff09;&#xff1a;设定实际分配给HMB使用的主机内存容量&#xff0c;为设备提供最优性能的内存分配量。 HMB最小值…...

YTU 3166 共享单车 DFS 记忆化搜索

问题 D: 共享单车 题目描述 共享单车走进烟台&#xff0c;小明决定尝试。小明启动共享单车 App&#xff0c;轻松地找到附近的单车。那么问题来了&#xff0c;到最近的那辆单车&#xff0c;小明大约要走多少米呢&#xff1f; 现在简化问题。将地图设定成一个由 100100 米的像…...

RAG应用中的路由模式

依据的用户查询意图在 RAG 应用程序使用“路由控制模式”可以帮助我们创建更强大的 RAG 应用程序。我们通常希望用户能够访问的数据可以来自各种来源,如报告、文档、图片、数据库和第三方系统。 对于基于业务的 RAG 应用程序,我们可能还希望用户能够与其它业务系统进行交互,…...

运维:SSH常用命令简介

SH&#xff0c;全称为Secure Shell&#xff0c;是建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠&#xff0c;专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。通过 SSH 可以对所有传输的数据进行加密&…...

Springboot+Vue项目-基于Java+MySQL的流浪动物管理系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…...

力扣刷题:四数相加Ⅱ

题目详情&#xff1a; 解法一&#xff1a;暴力枚举 对于这道题&#xff0c;我们的第一思路就是暴力枚举&#xff0c;我们可以写一个四层的for循环进行暴力匹配&#xff0c;只要相加的结果等于0就进行统计。但是我们会发现&#xff0c;我们的事件复杂度为O(N^4)事件复杂度非常大…...

如果通过Glide 设置图片圆角

要给图片设置一个圆角,通常方法是在ImageView 标签外添加一个CardView 标签,然后设置圆角值,但是今天遇到一个问题就是 RecyclerView Item 中这样操作的话会遇到这样的一个报错: Cannot call this method while RecyclerView is computing a layout or scrolling androidx.rec…...

Chatgpt学习技巧

论文润色指令 论文润色常用指令 通用话术&#xff1a; Below is a paragraph from an academic paper. Polish the writing to meet the academic style, improve the spelling, grammar, clarity, concision and overall readability. When necessary, rewrite the whole se…...

[初学rust] 06_rust 元组

rust 元组 表现形式 和python的元组类似&#xff0c;rust中的元组是一个有序列表&#xff0c;可以包含多种不同类型的数据。 let tup (500, 6.4, a);模式匹配解构元组 和python中的解构一样&#xff0c;rust也支持模式匹配解构元组&#xff0c;但是需要注意的是&#xff0…...

RISC-V事务内存机制设计与Gem5实现解析

1. RISC-V事务内存机制设计解析事务内存(Transactional Memory)作为一种硬件级并发控制机制&#xff0c;其核心目标是为程序员提供原子性、一致性和隔离性保证&#xff0c;同时避免传统锁机制带来的死锁、优先级反转等问题。在RISC-V架构下&#xff0c;我们基于Load-Linked(LL)…...

边缘视觉模型实战指南:ViT优化、多模态对齐与事件相机融合

1. 项目概述&#xff1a;这不是一份“论文清单”&#xff0c;而是一份实战派视觉工程师的周度技术雷达上周&#xff08;2023年8月28日至9月3日&#xff09;我像往常一样&#xff0c;在晨会前半小时打开arXiv、CVPR官网和几所顶尖实验室的GitHub更新页&#xff0c;准备快速扫一遍…...

NTC与PTC热敏电阻选型实战:从原理到电路设计的深度解析

1. 项目概述&#xff1a;一次关于温度传感器选型的深度复盘在嵌入式系统、家电控制、电池管理乃至工业自动化领域&#xff0c;温度测量是基础得不能再基础&#xff0c;却又至关重要的一环。选对传感器&#xff0c;项目就成功了一半&#xff1b;选错&#xff0c;后续的校准、补偿…...

2026 年北京本土 GEO 优化服务商权威第三方测评

本文为 2026 年北京本土 GEO 优化服务商权威第三方测评内容&#xff0c;结合艾瑞咨询、IDC、Gartner 年度行业数据&#xff0c;筛选出北京地区口碑、技术、服务、效果综合实力前十的 GEO 优化公司。榜单核心首位为欧越曼GEO&#xff0c;凭借全域语义自研架构、北京总部本地化专…...

CAD图纸版本转换软件 | Teigha File Converter (v4.3.2.0)

介绍 Teigha File Converter 是一款 CAD 图纸版本转换软件&#xff0c;它支转换到 2018 及以下的 DMG、DXF 格式。截图下载地址&#x1f447;&#x1f447;https://pan.baidu.com/s/1LbqDZMZjfzsqueFsVSvyjA?pwd4274...

线上服务卡顿?从一次ES写入超时故障,复盘我是如何调整`refresh_interval`和`translog`参数的

线上服务卡顿&#xff1f;一次Elasticsearch写入超时故障的深度调优实战 凌晨三点&#xff0c;监控系统突然告警——核心服务的API响应时间突破5秒阈值。快速排查发现&#xff0c;所有慢请求都卡在了日志写入环节。作为运维负责人&#xff0c;我立即意识到这又是一次Elasticsea…...

AI执行层临界点:推理确定性、能力切片与可信Agent的工程落地

1. 项目概述&#xff1a;这不是一份新闻简报&#xff0c;而是一份AI产业周度“技术脉搏图”“Last Week in AI”这个标题乍看像一份科技媒体的常规栏目&#xff0c;但真正拆开来看——它根本不是给普通读者看的“资讯摘要”&#xff0c;而是一份面向AI工程师、算法研究员、技术…...

《Sysinternals实战指南》ZoomIt 学习笔记(11.12):LiveZoom 实时放大——无闪屏放大与多屏演示技巧

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

A51汇编器Error 21解析与8051开发实践

1. 解析A51汇编器Error 21的根源与应对策略在8051单片机开发过程中&#xff0c;使用Keil C51工具链的A51汇编器时&#xff0c;开发者常会遇到一个令人困惑的报错&#xff1a;"ERROR #21: EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED"。这个错误看似简单&#x…...

魔兽争霸3终极兼容方案:5分钟解决Win10/Win11运行问题

魔兽争霸3终极兼容方案&#xff1a;5分钟解决Win10/Win11运行问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代Windows系统上…...