博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
连续子数组的最大和
阅读量:4185 次
发布时间:2019-05-26

本文共 560 字,大约阅读时间需要 1 分钟。

一个数组中,既有正数,也有负数,计算出他的子数组和的最大值。

思路:

我们从头开始遍历数组,遍历到数组元素 arr[ i ] 时,连续的最大的和 可能为 max( dp[ i -1 ] ) + arr[ i ] ,也可能为 arr[ i ] ,做比较即可得出哪个更大,取最大值。时间复杂度为 n

#include 
using namespace std;int GetMax(int a, int b){ return a > b ? a : b;}int FindMaxSum(int a[],int N){ int sum = a[0]; int max = a[0]; for (int i = 1; i < N; i++) { sum = GetMax(sum + a[i], a[i]); if (sum >= max) max = sum; } return max;}int main(){ int a[] = { 1, 4, -3, 6, 2 }; int N = sizeof(a) / sizeof(a[0]); FindMaxSum(a, N); return 0;}

转载地址:http://axuoi.baihongyu.com/

你可能感兴趣的文章
spring boot应用启动原理分析
查看>>
使用spring的好处
查看>>
微服务:分解应用以实现可部署性和可扩展性
查看>>
tcp_timestamps tcp_tw_recycle引起的服务器连接不上问题
查看>>
windows下ES和head插件的安装
查看>>
RAP一种更高效的前后端接口对接解决方案
查看>>
ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
查看>>
ELK搭建教程(全过程)
查看>>
maven私服搭建使用
查看>>
Netty学习路线总结
查看>>
基于mybatis拦截器实现数据权限
查看>>
分布式文件系统FastDFS详解
查看>>
centos7上rabbitmq搭建
查看>>
rabbitmq集成spring的xml配置和java代码
查看>>
RabbitMQ消息确认(发送确认,接收确认)
查看>>
一篇笔记整理JVM工作原理
查看>>
activemq、rabbitmq、kafka原理和比较
查看>>
秒杀系统设计思路和实现方法
查看>>
Redis常见面试题
查看>>
JDK重要包和Java学习方法论
查看>>