动态规划子数组系列(二) 环形子数组的最大和

 题目:

  


解析: 


代码:    

public int maxSubarraySumCircular(int[] nums) {int sum = 0;int n = nums.length;int[] f = new int[n+1];int[] g = new int[n+1];int ret = 0, fmax = -0x3f3f3f3f, gmin = Integer.MAX_VALUE;for(int i = 1; i <= n; i++){int x = nums[i-1];f[i] = Math.max(x,f[i-1] + x);fmax = Math.max(fmax,f[i]);g[i] = Math.min(x,g[i-1]+ x);gmin = Math.min(gmin,g[i]);sum += x;}return sum == gmin ? fmax : Math.max(fmax,sum-gmin);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么用VIM查看UVM源码

利用ctags工具可以建立源码的索引表&#xff0c;在使用VIM或其他文本编辑器时&#xff0c;就可以跳转查看所调用的UVM或VIP的funtcion/task/class等源码了。 首先需要确认ctags安装&#xff0c;一般安装VIM后都有&#xff0c;如果没有可以手动安装。在VIM中可以输入:help ctag…

XXL-API v1.2.0 发布 | API管理平台

Release Notes 1、【新增】容器化&#xff1a;提供官方docker镜像&#xff0c;并实时更新推送dockerhub&#xff0c;进一步实现产品开箱即用&#xff1b;2、【优化】Docker基础镜像切换&#xff0c;精简镜像&#xff1b;降低资源消耗、提升部署效率&#xff1b;3、【优化】精简…

R语言数据分析可视化——summarytools包的使用

R语言中的summarytools包通过提供能够用最少的代码生成数据全面摘要的功能,使数据分析更加简单。summarytools包提供了一种简单的方法来生成数据集的摘要统计信息,包括描述性统计、频率表、交叉表、缺失值、异常值、相关性、线性回归、ANOVA、卡方检验等。本文将介绍如何使用…

element ui 搜索框中搜索关键字标红展示

示例如图 el-select上绑定remote-method属性 <el-select v-model"checkForm.type" filterable remote reserve-keyword :remote-method"remoteMethod" :loading"loading"><el-option v-for"item in options" :key"ite…

OceansGallerie趣味游戏:带领Web2用户无缝融入Web3世界

引言 随着区块链技术的飞速发展&#xff0c;Web3生态正在逐渐成为数字世界的核心。然而&#xff0c;对于全球10亿Web2用户来说&#xff0c;区块链和Web3的概念依然晦涩难懂。OceansGallerie平台通过设计一个趣味性和奖励性的休闲游戏模块&#xff0c;旨在为这些用户提供一个简…

LeetCode654.最大二叉树

LeetCode刷题记录 文章目录 &#x1f4dc;题目描述&#x1f4a1;解题思路⌨C代码 &#x1f4dc;题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。 递归地在最大值 左边 的 子…

MySQL EXPLAIN,数据库调优的秘密通道

EXPLAIN 是 MySQL 中一个非常有用的工具&#xff0c;它用于分析 SQL 查询的执行计划。通过 EXPLAIN&#xff0c;你可以获取 MySQL 是如何准备执行你的 SQL 语句的&#xff0c;包括使用的索引、连接类型、扫描的行数等信息。这些信息对于优化查询性能、识别性能瓶颈至关重要。 使…

uniapp vue里按钮上的文字,换行的方法,用rich-text

<rich-text class"caption-1" v-if"voiceTis 识别中...点击停止" v-html"formattedVoiceTis"></rich-text> <text class"caption-1" v-else>{{ formattedVoiceTis }}</text&g…

为什么hbase在大数据领域渐渐消失

HBase 曾是大数据存储领域的标杆之一,凭借其强大的分布式、列式存储和高扩展性,广泛应用于电商、社交网络、金融等需要海量数据管理的场景。然而,近年来 HBase 的使用确实在减少,这主要是因为数据技术栈的演变和用户需求的变化。以下是一些主要原因: 1. 复杂的运维和管理…

Charles抓https包-配置系统证书(雷电)

1、导出证书 2、下载 主页上传资源中有安装包&#xff0c;免费的 openssl 安装教程自己搜 openssl x509 -subject_hash_old -in charles.pem 3、修改证书名、后缀改成点0 雷电打开root和磁盘写入 4、导入雷电证书根目录 证书拖进去&#xff0c;基本就完成了&#xff…

Ansible内置模块之known_hosts

Ansible内置模块之 known_hosts ansible.builtin.known_hosts 模块允许您在 known_host 文件中添加或删除主机公钥。从 Ansible 2.2开始&#xff0c;每个主机允许多个条目&#xff0c;但 ssh 支持的每个公钥类型只能有一个条目。例如&#xff0c;如果您想在 ssh 上使用[ansible…

NX二次开发将刀轨转曲线

获取选择的程序刀轨和当前加工坐标系&#xff0c;获取刀轨数据点转换到加工坐标系&#xff0c;然后创建样条&#xff0c;创建样条是用UG录制的代码&#xff0c;有更好的方法欢迎交流学习一下。 void CreateCurve(){tag_t setup_tag;UF_SETUP_ask_setup(&setup_tag);int co…

Java基础——多线程

1. 线程 是一个程序内部的一条执行流程程序中如果只有一条执行流程&#xff0c;那这个程序就是单线程的程序 2. 多线程 指从软硬件上实现的多条执行流程的技术&#xff08;多条线程由CPU负责调度执行&#xff09; 2.1. 如何创建多条线程 Java通过java.lang.Thread类的对象…

【React】状态管理之Zustand

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 状态管理之Zustand引言1. Zustand 的核心特点1.1 简单直观的 API1.2 无需 Provi…

虎扑APP数据采集:JavaScript与AJAX的结合使用

引言 虎扑APP的数据采集涉及到前端和后端的交互&#xff0c;其中AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;技术允许在不重新加载整个页面的情况下&#xff0c;与服务器进行数据交换和更新部分网页内容。这种技术使得数据采集过程更加高效和用户友好。然而…

高级数据结构——hash表与布隆过滤器

文章目录 hash表与布隆过滤器1. hash函数2. 选择hash函数3. 散列冲突3.1 负载因子3.2 冲突解决3. STL中的散列表 4. 布隆过滤器4.1 背景1. 应用场景2. 常见的处理场景&#xff1a; 4.2 布隆过滤器构成4.3 原理4.4 应用分析4.5 要点 5. 分布式一致性hash5.1 缓存失效问题 6. 大数…

测试实项中的偶必现难测bug--互斥逻辑异常

问题: 今天线上出了一个很奇怪的问题,看现象和接口是因为数据问题导致app模块奔溃 初步排查数据恢复后还是出现了数据重复的问题,查看后台实际只有一条数据,但是显示在app却出现了两条一模一样的置顶数据 排查: 1、顺着这个逻辑,我们准备在预发复现这个场景,先是cop…

算法训练(leetcode)二刷第二十八天 | 509. 斐波那契数、70. 爬楼梯、*746. 使用最小花费爬楼梯

刷题记录 509. 斐波那契数70. 爬楼梯*746. 使用最小花费爬楼梯动态规划优化空间复杂度 509. 斐波那契数 leetcode题目地址 时间复杂度&#xff1a; O ( n ) O(n) O(n) 空间复杂度&#xff1a; O ( 1 ) O(1) O(1) // java class Solution {public int fib(int n) {if(n<…

基于Java Web 的家乡特色菜推荐系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

RabbitMQ实战启程:从配置到故障排查的实战处理(下)

文章目录 七、RabbitMQ配置详解八、RabbitMQ优化8.1 加大服务器带宽8.2 加大内存8.3 使用固态硬盘8.4 增加生产者8.5 增加消费者8.6 改网络访问为本地访问8.7 消费端使用长连接8.8 消息不要超过4M 九、监控十、常见故障与排查10.1 消费慢10.2 消息丢失10.2.1 生产者消息丢失10.…