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

杂题——试题 算法训练 区间最大和

分析:

  •  如果使用两个for循环遍历所有情况,运行会超时
  • 解决运行超时的关键点在于:及时停止累加,丢弃当前的子序列
    • 比如【1,-2,3,10】
    • 从第一个数字开始的子序列的和小于从第三个数字开始的子序列的和
    • 因为第一到第二的和 sum<0,sum+3<3,所以丢弃这个只会带来负作用的子序列,重新开始
package no1_1;
import java.util.*;
import java.io.*;
public class Main {public static void main(String[] args) throws NumberFormatException, IOException {BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));int n=Integer.parseInt(reader.readLine());String[] s=reader.readLine().split(" ");int[] number=new int[n];for(int i=0;i<n;i++) {number[i]=Integer.parseInt(s[i]);}int max=Integer.MIN_VALUE;for(int i=0;i<n-1;i++) {int sum=0;for(int j=i;j<n;j++) {if(sum<0) {//前面累加的和sum小于0时,丢弃该组序列,因为sum<0时,sum+number[i]<number[i]break;}else {sum+=number[j];max=Math.max(max, sum);}}}System.out.println(max);}
}

 

http://www.lryc.cn/news/292190.html

相关文章:

  • (安卓)跳转应用市场APP详情页的方式
  • 亚信安全助力宁夏首个人工智能数据中心建成 铺设绿色算力安全底座
  • ASP.NET Core WebAPI_解决跨域问题(前端后端)
  • 保姆级的指针详解(超详细)
  • R-YOLO
  • Qt无边框窗口拖拽和阴影
  • ES6 Proxy详解
  • Prompt Learning 的几个重点paper
  • 中科大计网学习记录笔记(三):接入网和物理媒体
  • 设计模式:工厂方法模式
  • HTML 相关知识点记录
  • 系统架构设计师考试大纲2023
  • sqli.labs靶场(第18~22关)
  • 【tensorflow 版本 keras版本】
  • 嵌入式学习第十六天
  • Java过滤器拦截器的区别和实现
  • Android 12 系统开机动画
  • C++:异常体系
  • 民事二审案件庭审应如何准备?
  • WebRTC系列-H264视频帧组包(视频花屏问题)
  • Common Mistakes in German
  • Java基础数据结构之反射
  • 【实战系列----消息队列 数据缓存】rabbitmq 消息队列 搭建和应用
  • 【云原生kubernetes系列】---亲和与反亲和
  • 【极简】Pytorch中的register_buffer()
  • J-Link:STM32使用J-LINK烧录程序,其他MCU也通用
  • 从0到1入门C++编程——06 类和对象之多态、文件操作
  • elementUI实现selecttree自定义下拉框树形组件支持多选和搜索
  • 使用 Spring Boot 构建 Docker 镜像的简易指南
  • 「数据结构」3.ArrayList