最大连续子段和

2023-10-27

最长公共子序列

题目描述
  给出一个长为n的数列,a1,a2,……,an,求和最大的连续子序列,即找到一对(i,j),i<=j,使ai+ai+1+……+aj的和最大,输出这个和

输入格式

     第一行为正整数n

     第二行n个用空格分开的整数

     表示a1,a2,……,an

输出格式

  一个整数,表示最大连续子序列的和

样例输入

3

-1 -2 -3

样例输出

-1

数据规模和约定

1<=n<=105,-105<=ai<=10^5

解题思路

从数组第一项起,依次遍历,每一次都取前面的最优选择,则可以保证往后的maxchoose[i]都是最优选择。

状态转移方程:
如果 dp(i – 1) ≤ 0,那么 dp(i) = arrays[i]
如果 dp(i – 1) > 0,那么 dp(i) = dp(i – 1) + arrays[i]

maxchoose[i]=Math.max(maxchoose[i-1]+arrays[i], arrays[i])

算法代码

import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;

/**
 * @author admin
 * 最大连续子段和
 */

public class Main {
    public static void main(String[] args) throws IOException {

        Scanner scanner = new Scanner(System.in);
        int n=scanner.nextInt();
        int[] arrays=new int[n];
        int[] maxchoose= new int[n];
        for (int i =0; i < n; i++) {
            arrays[i]=scanner.nextInt();
        }
        maxchoose[0]=arrays[0];
        for (int i = 1; i < arrays.length; i++) {
            maxchoose[i]=Math.max(maxchoose[i-1]+arrays[i], arrays[i]);
        }
        System.out.println(Arrays.stream(maxchoose).max().getAsInt());
    }
}

踩坑!!!!

BufferedReader,Scanner尽量别共用一题,不然会导致部分数据输入格式错误而报错!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最大连续子段和 的相关文章

  • 无法在 Android 10 中创建目录

    我无法在 android 10 中创建目录 它可以在 android Oreo 之前的设备上运行 我尝试了两种创建文件夹的方法 Using File mkdir File f new File Environment getExternal
  • 如何在spring mvc中从控制器名称+操作名称获取映射的URL?

    是否有现有的解决方案可以从 Spring MVC3 中的 控制器名称 操作名称 获取映射的 URL 例如 asp net mvc 或 Rails 中的 UrlHelper 我觉得非常有用 thx 也许 你想要这样的东西 in your Co
  • 如何从秘密字符串中制作 HMAC_SHA256 密钥以在 jose4j 中与 JWT 一起使用?

    我想生成 JWT 并使用 HMAC SHA256 对其进行签名 对于该任务我必须使用jose4j https bitbucket org b c jose4j wiki Home 我尝试根据秘密生成密钥 SecretKeySpec key
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 在文本文件中搜索单词并返回其频率

    如何在包含单词文本的文本文件中搜索特定单词并返回其频率或出现次数 使用扫描仪 String text Question how to search for a particular word in a text file containin
  • 如何在 JSP 中导入类?

    我是一个完全的JSP初学者 我正在尝试使用java util List在 JSP 页面中 我需要做什么才能使用除以下类之外的类java lang 使用以下导入语句进行导入java util List 顺便说一句 要导入多个类 请使用以下格式
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 在 HTTP 标头中发送 UTF-8 值会导致 Mojibake

    我想使用 servlet 发送阿拉伯语数据HTTPServletResponse给客户 我正在尝试这个 response setCharacterEncoding UTF 8 response setHeader Info arabicWo
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • 主线程如何在该线程之前运行?

    我有以下代码 public class Derived implements Runnable private int num public synchronized void setA int num try Thread sleep 1
  • 记录骆驼路线

    我的项目中有几个 Camel 上下文 如果可能的话 我想以逆向工程方式记录路线 因为我们希望保持与上下文相关的文档最新 最好的方法是什么 我们倾向于预先实际设计路线 并使用来自EIP book http www eaipatterns co
  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • 隐式超级构造函数 Person() 未定义。必须显式调用另一个构造函数?

    我正在开发一个项目 但收到错误 隐式超级构造函数 Person 未定义 必须显式调用另一个构造函数 我不太明白它 这是我的人物课程 public class Person public Person String name double D
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 获取给定类文件的目录路径

    我遇到的代码尝试从类本身的 class 文件所在的同一目录中读取一些配置文件 File configFiles new File this getClass getResource getPath listFiles new Filenam
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • Dispatcher-servlet 无法映射到 websocket 请求

    我正在开发一个以Spring为主要框架的Java web应用程序 特别使用Spring core Spring mvc Spring security Spring data Spring websocket 像这样在 Spring 上下文
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • Java:多线程内的 XA 事务传播

    我如何使用事务管理器 例如Bitronix http docs codehaus org display BTM Home JBoss TS http www jboss org jbosstm or Atomikos http www a
  • 嵌入式 Jetty - 以编程方式添加基于表单的身份验证

    有没有一种方法可以按如下方式以编程方式添加基于表单的身份验证 我用的是我自己的LdapLoginModule 最初我使用基本身份验证并且工作正常 但现在我想在登录页面上进行更多控制 例如显示徽标等 有没有好的样品 我正在使用嵌入式 jett

随机推荐

  • RIDE屏蔽INFO级别的日志输出

    RIDE屏蔽INFO级别的日志输出 最近参与自动化测试项目 项目测试内容包括软硬件 内容较复杂 每执行一个测试用例就输出了数万条INFO类型日志 严重影响测试人员查看日志 也影响了用例执行速度 因此需要减少不必要的日志输出 粗略看了一下 修
  • 在线作答编程——输入输出测试

    在线作答编程 输入输出测试 进行了总结 转载请注明链接 有问题请及时联系博主 Alliswell WP 问题描述 在线作答编程 需要自己处理输入输出 建议你进行在线oj输入输出练习 https ac nowcoder com acm con
  • 列举做副业月入3W+的公众号大佬

    3分享一些我平时关注的优秀号主 由深耕技术多年的老兵运营 与你分享技术干货 成长经验 很多时候大家不是不努力 而是缺乏对应的学习方法 以及高手指点 这些公众号也有很多干货资料 帮助你学习 表哥有话讲 国内最大的数据从业者分享平台 20W程序
  • 分析我关于路由协议的一些技术感想

    1 OSPF是在IP包里的 五种不同类型的OSPF包 Hello LSR LSU LSAck DD 又是由再进一层的ospf packetheader进行区分的 ABR一般都会有一个接口在Area0中 且对于不同的Area有不同的LSDB
  • “跨国视频造假窝点”曝光!这个大规模数据集,帮AI揪出99%换脸视频

    乾明 郭一璞 发自 凹非寺 量子位 报道 公众号 QbitAI 上回说到 奥巴马deepfake怼川普 斯嘉丽怒斥网友假视频 deepfake 视频造假神器 把一个人的脸庞 转移到另一个的身上 让假新闻轻松传播到全网 这下 不管是政要还是明
  • nginx基础学习(七):nginx+keepalived搭建主备nginx高可用服务

    目前最后一篇关于nginx的文章 这篇文章是做一个知识的了解 在实际生产中基本不使用 因为这种方式有更好的替代方案 但是为什么要说一下呢 面试的时候问到nginx的内容肯定都会问关于nginx的宕机问题 然后如何去防治 提高nginx服务的
  • unity三种图片格式

    本文转载自 http blog csdn net caption deng article details 52366907 ARGB 是一种色彩模式 也就是RGB色彩模式附加上Alpha 透明度 通道 常见于32位位图的存储结构 RGB
  • 爬虫基础—Session和Cookie

    个人简介 作者简介 大家好 我是W chuanqi 一个编程爱好者 个人主页 W chaunqi 支持我 点赞 收藏 留言 愿你我共勉 若身在泥潭 心也在泥潭 则满眼望去均是泥潭 若身在泥潭 而心系鲲鹏 则能见九万里天地 文章目录 第1章
  • 系统架构设计师-软件架构设计(1)

    目录 一 软件架构的概念 1 架构的本质 2 架构的作用 二 架构发展历史 三 架构的 4 1 视图 1 逻辑视图 Logical View 2 开发视图 Development View 3 进程视图 Process View 4 物理视
  • 2023年26家大厂Java面试题整理了360道(分布式+微服务+高并发)

    前言 2023年的金三银四还有不到1个月的时间就结束了 这两个月 你收获了多少 前段时间一直有粉丝问我 有没有今年一些大厂Java面试题总结 最新抽时间整理了一些 分享给大家 大家一起共享学习 由于文章太长 有些解析没有详细列出 文末有获取
  • C++的STL库常用API--list

    list的简介 list是一个双向链表容器 可高效地进行插入删除元素 list不可以随机存取元素 所以不支持at pos 函数与 操作符 list使用之前的准备 include
  • Android 代码混淆

    Android混淆最佳实践 1 混淆配置 因为开启混淆会使编译时间变长 所以debug模式下不开启 我们需要做的是 1 将release下minifyEnabled的值改为true 打开混淆 2 加上shrinkResources true
  • 机器学习——LR(线性回归)、LRC(线性回归分类)与人脸识别

    忆如完整项目 代码详见github https github com yiru1225 转载标明出处 勿白嫖 star for projects thanks 目录 系列文章目录 一 LR的概念 原理与LR用于简单数据的预测 1 LR简介
  • oracle杂记---运维常用

    查看索引是否被使用 绝不妥协绝不低头 博客园 ORACLE 动态执行SQL语句 Eric Zhai ITeye博客
  • 程序猿关注的微信公众号和网站

    36氪 wow36kr 功能介绍 36氪 36Kr com 是中国领先的科技新媒体 我们报道最新的互联网科技新闻以及最有潜力的互联网创业企业 账号主体 北京协力筑成传媒科技有限公司 商标保护 氪 36 硅发布 guifabucom 功能介绍
  • ios 浏览器can't find variable:wx完美解决

    问题描述 通过以下插件发现报错 can t find variable wx ios 浏览器 wx config debug false appId appId timestamp timestamp nonceStr nonceStr s
  • 虚拟机基于寄存器基于栈的概念和区别

    基于寄存器与基于栈的虚拟机 什么是虚拟机 虚拟机是借助于操作系统对物理机器的一种模拟 但是我们今天所讲述的虚拟机概念比较狭义 与vmware或者virtual box不同 而是针对具体语言所实现的虚拟机 例如在JVM或者CPython中 J
  • HTML+CSS+JS实现简单计算器

    本文运用前端代码实现一个简单的计算器界面 并通过JS实现了基本的运算功能 加 减 乘 除 清屏 退格 取余 取倒 1 编写前端界面
  • qt post上传文件

    QNetworkAccessManager的post接口可以接收多种参数 一般使用QByteArray发送普通文本请求 如果要带文件内容做参数 就需要用到QHttpMultiPart类型的参数 封装formData 这里定义的是一个stat
  • 最大连续子段和

    最长公共子序列 题目描述 给出一个长为n的数列 a1 a2 an 求和最大的连续子序列 即找到一对 i j i lt j 使ai ai 1 aj的和最大 输出这个和 输入格式 第一行为正整数n 第二行n个用空格分开的整数 表示a1 a2 a